Python Flask檔案伺服器,同時接收多個檔案
阿新 • • 發佈:2019-02-08
這裡只展示主要接收函式的python檔案內容:
from iot_core import make_api_respone
from flask import request, redirect, url_for
from werkzeug.utils import secure_filename
import os
from db_manager.local import FileTAB
from lib.common import db_session
from happy_utils import date_format
def upload_file():
if request.method == 'POST' :
print("-------------")
print(request.files)
print("-------------")
# upload_files=request.files['file'] #獲取到上傳檔案的最後一個檔案(用於單檔案上傳)
upload_files=request.files.getlist('file')
print(upload_files)
print("-------------")
# 檔案存放路徑
basepath = 'D:\pythonfile'
file_db_paths = []
for file in upload_files:
filename = secure_filename(file.filename)
upload_path = os.path.join(basepath, 'server_file_path', filename)
file_db_paths.append(upload_path)
file.save(upload_path)
date_now = date_format.get_datenow_str_ymdhms()
file_new = FileTAB() #資料庫表
file_new.create_date = date_now;
file_new.createby = 'sys'
file_new.file_path = upload_path
file_new.file_name = filename
db_session.add(file_new) #儲存到資料庫
db_session.commit() #提交到資料庫
db_session.close() #關閉資料庫連線
result = {
"code": 1,
"message": "上傳成功",
"obj": {
"paths": file_db_paths
},
"tokenStr": "DHASJHDSJHQWUEHSJD"
}
return result
else:
return make_api_respone(201, "上傳失敗")
列印日誌:
接收後儲存到本地:
資料庫新增記錄: