uniapp 下载文件
时间: 2025-07-10 13:56:31 浏览: 5
在 UniApp 中下载文件通常使用 `uni.downloadFile` API。这个方法可以将服务器上的文件下载到本地,并返回临时路径,供后续使用(例如预览、上传等)。下面是一个完整的示例,展示如何在 UniApp 中实现文件下载功能。
---
### 示例:使用 `uni.downloadFile` 下载文件
```html
<template>
<view class="container">
<button @click="downloadFile">下载文件</button>
<text v-if="filePath">文件路径: {{ filePath }}</text>
</view>
</template>
<script>
export default {
data() {
return {
filePath: null,
fileUrl: 'https://example.com/test.pdf' // 替换为你的文件URL
};
},
methods: {
downloadFile() {
uni.downloadFile({
url: this.fileUrl, // 文件的网络地址
success: (res) => {
if (res.statusCode === 200) {
console.log('下载成功', res.tempFilePath);
this.filePath = res.tempFilePath;
// 可选:保存文件到本地持久化存储
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (saveRes) => {
console.log('文件已保存到:', saveRes.savedFilePath);
this.filePath = saveRes.savedFilePath;
},
fail: (err) => {
console.error('保存文件失败', err);
}
});
} else {
console.error('下载失败,状态码:', res.statusCode);
}
},
fail: (err) => {
console.error('下载失败', err);
}
});
}
}
};
</script>
<style>
.container {
padding: 20px;
}
</style>
```
---
### 解释:
1. **`uni.downloadFile`**:
- 用于从指定 URL 下载文件。
- 成功后会返回一个临时路径 `tempFilePath`,可用于访问下载的文件。
2. **`url` 参数**:
- 需要下载的文件地址,必须是 HTTPS 协议且域名已在小程序后台配置。
3. **`success` 回调**:
- 如果下载成功,`res.tempFilePath` 是文件的本地临时路径。
- 可以选择调用 `uni.saveFile` 将文件保存到本地持久化路径。
4. **`uni.saveFile`**:
- 将临时路径的文件保存为持久路径,便于长期使用或再次访问。
5. **错误处理**:
- 使用 `fail` 回调来捕获下载或保存过程中的异常。
---
### 注意事项:
- 确保你的服务器允许跨域请求。
- 在小程序平台中,必须将文件 URL 添加到白名单中。
- 不同平台对文件大小有限制,比如微信小程序单个文件不能超过 10MB(除非使用分片下载)。
---
阅读全文
相关推荐


















