服务器端如何解决浏览器图片服务问题:Refused to get unsafe header "content-disposition"
时间: 2023-03-30 20:02:29 浏览: 225
服务器端可以通过设置响应头来解决这个问题,具体来说,可以在响应头中添加Access-Control-Expose-Headers: Content-Disposition,这样浏览器就可以获取到content-disposition头信息了。
相关问题
还是提示 Refused to get unsafe header "content-disposition"
如果还是提示 `Refused to get unsafe header "content-disposition"`,那么可能是服务器端设置了不安全的响应头。这种情况下,可以在客户端进行二次获取,使用 `uni.request` 方法发送请求,并在请求头中添加 `responseType: 'arraybuffer'`,以便正确解析服务器的响应头。
修改后的代码如下:
```javascript
const uploadVideo = () => {
// 提醒用户下载中
uni.showToast({
title: "下载中",
icon: "loading"
})
// 1 将远程文件下载到小程序的内存中
uni.request({
url: state.videourl,
responseType: 'arraybuffer',
success: (res) => {
let blob = new Blob([res.data], {type: 'video/mp4'});
let url = URL.createObjectURL(blob);
//保存视频到系统相册
uni.saveVideoToPhotosAlbum({
filePath: url,
success: function() {
uni.showToast({
title: "保存成功",
icon: "none"
});
return
},
fail: function() {
uni.showToast({
title: "保存失败,请稍后重试",
icon: "none"
});
return
}
});
}
})
}
```
这样就可以正常下载视频并保存到系统相册了。
uniapp 下载图片提示 Refused to get unsafe header "content-disposition"问题,在服务器端如何修改响应头
这个问题可以通过在服务器端修改响应头来解决。具体来说,可以在服务器端设置响应头的 Content-Disposition 属性,将其设置为 inline 或 attachment,以告诉浏览器如何处理响应内容。如果设置为 inline,则浏览器会尝试在页面中显示响应内容,如果设置为 attachment,则浏览器会提示用户下载响应内容。另外,还可以设置响应头的 Content-Type 属性,以告诉浏览器响应内容的类型。
阅读全文