【 Python 】透過 flask 中的 send_file 傳送影像
內容
- 學習目標
- 前置準備作業
- 建立發送影像 API
- 建立取得影像程式
學習目標
- 透過 Python flask 傳送影像到 client 端
前置準備作業
- 已安裝
Python
- 已安裝 IDE
- 本範例使用 Visual Studio Code
Server 端
Step 1. 安裝 flask
套件
- 請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令
pip install Flask==1.1.1
Step 2. 建立發送影像 API
- 請建立名為
send-file.py
檔案,其程式如下
- 說明
- 第 1 與第 2 行 : 引用
io
與flask
套件 - 第 4 行 : 建立 flask app
- 第 6 行 : 建立 route 為
/upload
,其 Method 為GET
- 第 7 到第 12 行 : 將 Server 端與
send-file.py
程式同層中的banana.jpg
影像傳送到 Client 端 - 第 14 到第 15 行 : 啟動 Server,其 Port 為
5000
- 第 1 與第 2 行 : 引用
Step 3. 啟動 Server
-
請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令
python send-file.py
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
- 第 1 行 : 引用
Step 3. 啟動 get-file.py
程式
-
請在終端機 ( macOS ) 或 PowerShell ( Windows ) 輸入下方指令
python get-file.py
-
當執行成功後在
get-file.py
程式的同一層目錄中即可看到img.jpg
的影像