## uni.downloadFile(OBJECT)
下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。
**OBJECT 参数说明**
![](https://box.kancloud.cn/9fa3c21c1c16a37401ec95c894b72ac6_861x242.png)
注:文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 uni.saveFile,才能在应用下次启动时访问得到。
**success 返回参数说明**
![](https://box.kancloud.cn/6012a377f9e6b4422eebcd2b727dc5e4_858x127.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/184478542238cb96f4f4ade46c885a69_862x128.png)
**onProgressUpdate 返回参数说明**
![](https://box.kancloud.cn/2ff317484e8409f3a013d4aae81047ab_859x166.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();
}
});