请根据错误信息修改一下代码 const uploadVideo = () => { // 提醒用户下载中 uni.showToast({ title: "下载中", icon: "loading" }) // 1 将远程文件下载到小程序的内存中 uni.downloadFile({ url:state.videourl, success: (res) => { debugger if (res.statusCode === 200) { //保存图片到系统相册 uni.saveVideoToPhotosAlbum({ filePath: res.tempFilePath, success: function() { uni.showToast({ title: "保存成功", icon: "none" }); return }, fail: function() { uni.showToast({ title: "保存失败,请稍后重试", icon: "none" }); return } }); } } }) }
时间: 2024-03-09 14:48:59 浏览: 73
这个错误是由于下载视频时服务器返回了不安全的响应头字段 "content-disposition" 导致的,需要在请求头中添加 `responseType: 'arraybuffer'`,以便正确解析服务器的响应头,代码修改如下:
```javascript
const uploadVideo = () => {
// 提醒用户下载中
uni.showToast({
title: "下载中",
icon: "loading"
})
// 1 将远程文件下载到小程序的内存中
uni.downloadFile({
url: state.videourl,
responseType: 'arraybuffer', // 添加此项
success: (res) => {
debugger
if (res.statusCode === 200) {
//保存图片到系统相册
uni.saveVideoToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: "保存成功",
icon: "none"
});
return
},
fail: function() {
uni.showToast({
title: "保存失败,请稍后重试",
icon: "none"
});
return
}
});
}
}
})
}
```
这样应该就可以正常下载视频并保存到系统相册了。
阅读全文