雷峰
雷峰
  • 发布:2025-12-08 16:13
  • 更新:2025-12-10 11:28
  • 阅读:28

请问云函数URL化有没有办法返回文件流?

分类:uniCloud

文档的这里写的是返回base64数据,有没有办法在客户端不等待云函数端文件下载完成后才返回内容的方式?

2025-12-08 16:13 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

云函数URL化默认返回JSON格式数据,但可以通过自定义HTTP响应实现文件流返回。

具体方法:

  1. 在云函数中下载文件到Buffer(使用uniCloud.downloadFile或直接HTTP请求)
  2. 设置响应头:context.set('Content-Type', 'application/octet-stream')
  3. 直接返回文件Buffer对象,而非JSON数据

示例代码:

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

内容为 AI 生成,仅供参考
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

不支持。

要回复问题请先登录注册