鸿蒙的js开发部模式18:鸿蒙的文件上传到python服务器端 原创 精华

六合李欣
发布于 2021-3-2 21:34
浏览
4收藏

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>
  • 1.
  • 2.
  • 3.

 

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

    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.

 

上传参数说明如下:

鸿蒙的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)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

 

文件上传到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服务器端-鸿蒙开发者社区

 

还是古语说得好,十八般武艺,样样需精通!我们一起努力吧!

 

 

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
已于2021-3-2 21:35:21修改
6
收藏 4
回复
举报
6
5
4
5条回复
按时间正序
/
按时间倒序
魔法少女郭德纲
魔法少女郭德纲

好文!!!收藏了

回复
2021-3-2 21:43:53
张荣超_九丘教育
张荣超_九丘教育

👍👍👍

回复
2021-3-2 22:59:04
鲜橙加冰
鲜橙加冰

👍👍👍

回复
2021-3-3 09:08:02
zzuliGjq
zzuliGjq

楼主您好,请问一下必须要使用内网穿透吗?

回复
2022-3-31 15:29:18
司空摘猫
司空摘猫

这个路径 cache/path/to/要自己建立吗

 

回复
2022-4-11 14:38:10


回复
    相关推荐