ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## uni.uploadFile(OBJECT) 将本地资源上传到开发者服务器,客户端发起一个 POST 请求,其中 content-type 为 multipart/form-data。 如页面通过 uni.chooseImage 等接口获取到一个本地资源的临时文件路径后,可通过此接口将本地资源上传到指定服务器。 **OBJECT 参数说明** ![](https://box.kancloud.cn/db0db13f59eb55a2772a935e611365f7_860x405.png) **files参数说明** ![](https://box.kancloud.cn/86e0de7ad8a802531870edc305ac6dae_863x129.png) success 返回参数说明 ![](https://box.kancloud.cn/0e4210dfac21e8000218e18b2bc6d1a9_860x128.png) **示例** ``` uni.chooseImage({ success: function (chooseImageRes) { const tempFilePaths = chooseImageRes.tempFilePaths; uni.uploadFile({ url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'file', formData: { 'user': 'test' }, success: function (uploadFileRes) { console.log(uploadFileRes.data); } }); } }); ``` **返回值** 返回一个 uploadTask 对象,通过 uploadTask,可监听上传进度变化事件,以及取消上传任务。 **uploadTask 对象的方法列表** ![](https://box.kancloud.cn/cb0560dd52ee4cef584f7f563687d48e_864x129.png) **onProgressUpdate 返回参数说明** ![](https://box.kancloud.cn/acf2e5dacc0d1052e1b63cfb3274eb32_857x170.png) **示例** ``` uni.chooseImage({ success: function (chooseImageRes) { const tempFilePaths = chooseImageRes.tempFilePaths; const uploadTask = uni.uploadFile({ url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'file', formData: { 'user': 'test' }, success: function (uploadFileRes) { console.log(uploadFileRes.data); } }); uploadTask.onProgressUpdate(function (res) { console.log('上传进度' + res.progress); console.log('已经上传的数据长度' + res.totalBytesSent); console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend); // 测试条件,取消上传任务。 if (res.progress > 50) { uploadTask.abort(); } }); } }); ``` **uni.downloadFile(OBJECT)** 下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。 OBJECT 参数说明 ![](https://box.kancloud.cn/ebdf820505350a66dab2800ef5c00323_868x246.png) 注:文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 uni.saveFile,才能在应用下次启动时访问得到。 success 返回参数说明 ![](https://box.kancloud.cn/cff1c5c9b101b21e2ef7d8029f04d54f_866x135.png) 示例 ``` uni.downloadFile({ url: 'https://www.example.com/file/test', //仅为示例,并非真实的资源 success: function (res) { if (res.statusCode === 200) { console.log('下载成功'); } } }); ``` **返回值** 返回一个 downloadTask 对象,通过 downloadTask,可监听上传进度变化事件,以及取消上传任务。 **downloadTask 对象的方法列表** ![](https://box.kancloud.cn/db3419807648b381b372df5a0e4765a8_859x134.png) **onProgressUpdate 返回参数说明** ![](https://box.kancloud.cn/f1da68fcf0cefba5d1259bada96753de_862x166.png) 示例 ``` const downloadTask = uni.downloadFile({ url: 'http://www.example.com/file/test', //仅为示例,并非真实的资源 success: function (res) { if (res.statusCode === 200) { console.log('下载成功'); } } }); downloadTask.onProgressUpdate(function (res) { console.log('下载进度' + res.progress); console.log('已经下载的数据长度' + res.totalBytesWritten); console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite); // 测试条件,取消下载任务。 if (res.progress > 50) { downloadTask.abort(); } }); ```