文件上传和下载

UploadFile vs DownloadFile
文件的上传和下载需要网络的支持,所以对应的API归类在网络
通常借助中间件|第三方,如 multerformidable ,配合API实现
通常先选择再上传
wx.chooseMedia(Object object)
拍摄或从手机相册中选择图片或视频
可以指定图片的个数count、类型mediaType、来源sourceType、压缩sizeType等;一般保持默认即可
更多信息,请访问 官方文档 - chooseMedia
定制头像
点击选择头像并渲染 - img是数据,和视图中的<image>绑定;在绑定事件中选择并解析出图片临时地址
这个临时地址就是上传的依据
wx.chooseMedia({
    count: 1,
    success: res => {
        console.log(res);
        this.setData({
            img:res.tempFiles[0].tempFilePath
        })
    },
    fail: err => console.log(err),
    complete: () => console.log('choose media done')
})
wx.uploadFile(Object object)
文件上传 - 将本地资源上传到服务器
客户端发起一个 POST 请求,请求头 header 要指定 content-type 为 multipart/form-data
filePath就是要上传的图片路径,可以从 wx.chooseMedia() 中获取
更多信息,请访问 官方文档 - uploadFile
wx.uploadFile({
    filePath: 'img path',
    name: 'avatar',
    url: 'http://127.0.0.1:3000/avatar',
    header: {
        'content-type': 'multipart/form-data'
    },
    success: res => {
        console.log(res);
    },
    fail: err => {
        console.log(err);
    },
    complete: () => {
        console.log('upload done logging');
    }
})
wx.downloadFile(Object object)
文件下载 - 下载文件资源到本地
返回一个临时地址,并不是直接下载到本地,而是由用户通过预览的方式,确认进一步操作
客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB
更多信息,请访问 官方文档 - downloadFile
wx.previewImage(Object object)
在新页面中全屏预览图片
预览的过程中用户可以进行保存图片、发送给朋友等操作
以数组的形式,给出需要预览图片的地址列表
更多信息,请访问 官方 - previewImage
wx.previewImage({
    urls: []
})