鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端


1.首先鴻蒙的js文件上傳,設置目錄路徑為:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

 

構建路徑在工程主目錄下:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

該目錄的說明見下面描述:鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

 

視圖構建如下:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

界面代碼:

<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');
            }
        });

    }
}

 

上傳參數說明如下:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

域名采用內網穿透工具:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

 

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工程根目錄下:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

file_obj = request.files.get("file")  獲取文件信息   

filename=request.form.get("file1")  獲取文件上傳參數,post請求 request.form,如果是get請求,request.args. 區分get和post請求。

 

上傳文件可能會較慢,耐心等待幾秒,檢查服務器端python工作台目錄,查看日志信息:

鴻蒙的js開發部模式18:鴻蒙的文件上傳到python服務器端

還是古語說得好,十八般武藝,樣樣需精通!我們一起努力吧!

 

《鴻蒙的js開發模式》系列文章合集

作者:六合李欣

想了解更多內容,請訪問51CTO和華為合作共建的鴻蒙社區:https://harmonyos.51cto.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM