uni-app unicloud使用集成响应返回HTML时仍然会调用下载
uni-app unicloud使用集成响应返回HTML时仍然会调用下载
示例代码:
return {
mpserverlessComposedResponse: true,
statusCode: 200,
headers: {
'content-type': 'text/html'
},
body: content
}
操作步骤:
- 使用unicloud返回集成响应
预期结果:
- 正常显示网页
实际结果:
- 提示下载
bug描述:
如题,unicloud(阿里云)在正确使用集成响应返回HTML后,仍然提示下载,查看网页请求可能由于有 “x-download-options: noopen”这个响应头,试图在headers中覆盖也无果
更多关于uni-app unicloud使用集成响应返回HTML时仍然会调用下载的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
跪了啊,好歹在文档写一下啊,不支持的话我整个unicloud的方案都白费了
回复 猫猫儿: 文档已补充说明
回复 猫猫儿: 腾讯云可以支持,并且是否下载是由响应头内的content-disposition决定的
根据你的描述,这个问题确实是由于阿里云的特殊响应头导致的。以下是解决方案:
- 尝试在headers中强制覆盖x-download-options:
return {
mpserverlessComposedResponse: true,
statusCode: 200,
headers: {
'content-type': 'text/html',
'x-download-options': ''
},
body: content
}
- 如果上述方法无效,可以尝试改用base64编码返回:
return {
mpserverlessComposedResponse: true,
statusCode: 200,
isBase64Encoded: true,
headers: {
'content-type': 'text/html'
},
body: Buffer.from(content).toString('base64')
}