鴻蒙的js開發部模式18:鴻蒙的檔案上傳到python伺服器端
阿新 • • 發佈:2021-03-03
1.首先鴻蒙的js檔案上傳,設定目錄路徑為:
構建路徑在工程主目錄下:
該目錄的說明見下面描述:
檢視構建如下:
介面程式碼:
<div class="container">
<div onclick="operatorloadone" class="divone"><text>上傳檔案</text></div>
</div>
js上傳業務邏輯程式碼:
匯入request模組 import request from '@system.request'; 執行upload方法:
import request from '@system.request'; import prompt from '@system.prompt'; export default { data: { title: 'World' }, operatorloadone() { prompt.showToast({ message:"執行檔案上傳" }) request.upload({ url: 'http://rwrg2k.natappfree.cc/upload', method:"POST", files: [ { uri: 'internal://cache/path/to/file.txt', name: 'file', filename: 'file.txt', }, ], data:[ { name: 'file1', value: '文字檔案', }, ], success: function(data) { console.log(data); }, fail: function() { console.log('upload fail'); } }); } }
上傳引數說明如下:
域名採用內網穿透工具:
python伺服器端的程式碼如下:
from flask import Flask from flask import jsonify from flask import request app=Flask(__name__) '''因為是檔案,所以只能是POST方式''' @app.route("/upload", methods=["POST"]) def uploadFile(): print("獲取上傳檔案資訊") """接受前端傳送來的檔案""" file_obj = request.files.get("file") filename=request.form.get("file1") print("獲取檔案的引數是:"+filename) if file_obj is None: # 表示沒有傳送檔案 return jsonify("未上傳檔案") ''' 將檔案儲存到本地(即當前目錄) 直接使用上傳的檔案物件儲存 ''' file_obj.save('file.txt') # 和前端上傳的檔案型別要相同 file_obj.seek(0) return jsonify("上傳成功") if __name__=="__main__": app.run(debug=True,port=8500)
檔案上傳到python工程根目錄下:
file_obj = request.files.get("file") 獲取檔案資訊
filename=request.form.get("file1") 獲取檔案上傳引數,post請求 request.form,如果是get請求,request.args. 區分get和post請求。
上傳檔案可能會較慢,耐心等待幾秒,檢查伺服器端python工作臺目錄,檢視日誌資訊:
還是古語說得好,十八般武藝,樣樣需精通!我們一起努力吧!
《鴻蒙的js開發模式》系列文章合集
作者:六合李欣
想了解更多內容,請訪問51CTO和華為合作共建的鴻蒙社群:https://harmonyos.51cto