开发者社区> 问答> 正文

手机端钉钉app,前端调用后端二进制流,实现下载文件功能。在其他浏览器都是好的。钉钉app是乱码

手机端钉钉app,前端调用后端二进制流,实现下载文件功能。在其他浏览器都是好的。钉钉app是乱码

展开
收起
1370608309501081 2023-06-26 17:39:58 247 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    如果在钉钉app中下载二进制流文件时出现乱码,可能是钉钉app对二进制流的解析方式与其他浏览器不同导致的。为了解决这个问题,你可以考虑以下几个解决方案:

    使用钉钉app提供的下载文件接口:钉钉app提供了下载文件的接口,可以在前端调用后端接口时,通过判断用户的请求来源,选择使用钉钉app提供的下载文件接口来下载文件。这样可以避免钉钉app对二进制流的解析问题。

    对二进制流进行Base64编码:在前端调用后端接口时,在后端返回二进制流之前,将二进制流进行Base64编码,然后将编码后的字符串返回给前端,前端再将字符串转换回二进制流,这样可以避免钉钉app对二进制流的解析问题。

    修改后端接口返回的Content-Type:在前端调用后端接口时,在后端返回二进制流之前,修改返回的Content-Type为"text/plain",这样可以避免钉钉app对Content-Type为"application/octet-stream"的文件类型的解析问题。

    2023-06-26 18:35:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
女性移动App安全攻防战 立即下载
汇聚云计算的生态核能——云市场,云上APP Store 立即下载
千万级用户直播App——服务端架构设计和思考 立即下载