文档的这里写的是返回base64数据,有没有办法在客户端不等待云函数端文件下载完成后才返回内容的方式?
文档的这里写的是返回base64数据,有没有办法在客户端不等待云函数端文件下载完成后才返回内容的方式?
云函数URL化默认返回JSON格式数据,但可以通过自定义HTTP响应实现文件流返回。
具体方法:
uniCloud.downloadFile或直接HTTP请求) context.set('Content-Type', 'application/octet-stream') 示例代码:
exports.main = async (event, context) => {
context.set('Content-Type', 'application/octet-stream');
context.set('Content-Disposition', 'attachment; filename="file.pdf"');
// 下载文件到Buffer
const { fileContent } = await uniCloud.downloadFile({ fileID: event.fileID });
return fileContent; // 直接返回Buffer
};
这种方式使客户端能直接接收二进制流,无需等待完整文件下载后再base64转换。
相关文档参考:
云函数URL化方式
uniCloud.downloadFile