/ Front-End & Back-End

【 Python 】透過 flask 中的 send_file 傳送影像

內容

  • 學習目標
  • 前置準備作業
  • 建立發送影像 API
  • 建立取得影像程式

學習目標

  • 透過 Python flask 傳送影像到 client 端

前置準備作業


Server 端

Step 1. 安裝 flask 套件

  • 請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令
    pip install Flask==1.1.1
    

Step 2. 建立發送影像 API

  • 請建立名為 send-file.py 檔案,其程式如下
  • 說明
    • 第 1 與第 2 行 : 引用 ioflask 套件
    • 第 4 行 : 建立 flask app
    • 第 6 行 : 建立 route 為 /upload,其 Method 為 GET
    • 第 7 到第 12 行 : 將 Server 端與 send-file.py 程式同層中的 banana.jpg 影像傳送到 Client 端
    • 第 14 到第 15 行 : 啟動 Server,其 Port 為 5000

Step 3. 啟動 Server

  • 請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令

    python send-file.py
    

    ---2020-04-17---3.09.17


Step 4. 準備影像

  • send-file.py 程式同層中準備一張名為 banana.jpg 的影像

Client 端

Step 1. 安裝 requests 套件

  • 請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令
    pip install requests==2.20.1
    

Step 2. 建立取得影像程式

  • 請建立名為 get-file.py 檔案,其程式如下
  • 說明
    • 第 1 行 : 引用 requests 套件
    • 第 3 行 : 設定 Server 位置,請將等號右邊的 IP 更改為 Server 位置
    • 第 4 行 : 設定傳輸協定、Server 位置、Server Port ( 埠號 )
    • 第 5 行 : 呼叫 Server 端名為 /upload 的 Route API
    • 第 7 到第 15 行 : 透過 GET 方式呼叫 API,如果回傳的狀態碼為 200,則將取得的圖像存檔為 img.jpg

Step 3. 啟動 get-file.py 程式

  • 請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令

    python get-file.py
    
  • 當執行成功後在 get-file.py 程式的同一層目錄中即可看到 img.jpg 的影像


GitHub
List of blogs
Archer

Archer

Having being a software engineer. Experience with Python, JavaScript, Node.js, Objective-C, Micro:bit, Raspberry Pi, AWS, Azure, IoT. ❆ [email protected] https://oranwind.org/author/archer/

Read More