原文:c#后端返回文件的二进制数据,前端直接生成blob对象创建的文件是错误的!

本文只是记录实现过程中,所遇到的问题,等下次再遇到时,能够轻松解决。 这是后端的返回结果,文件的二进制数组在data里。 刚开始我的js代码是这样写的 结果下载的文件内容是我返回的二进制。 后面搜寻了多方资料,找到了原因。我返回的二进制数组他的类型被js认为是array,而创建blob对象的函数,只接受ArrayBuffer,ArrayBufferView,Blob类型的数据,所以我们只需要将返回 ...

2020-02-17 15:08 0 1171 推荐指数:

查看详情

前端H5中JS用FileReader对象读取blob对象二进制数据文件传输

HTML5中的Blob对象只是二进制数据的容器,本身并不能操作二进制,故本篇将对其操作对象FileReader进行介绍。 FileReader FileReader主要用于将文件内容读入内存,通过一系列异步接口,可以在主线程中访问本地文件。 使用FileReader对象,web应用程序 ...

Wed Jun 12 03:46:00 CST 2019 2 11052
前端处理后端接口返回二进制数据流并下载成文件

1、首先看没处理时接口返回数据,会发现是乱码的。。。 2、解决乱码需要在请求接口时,加上配置responseType: 'blob',例如在vue中使用axios的http请求 加上之后返回数据就是这样的 3、接下来就是处理数据文件并下载 ...

Sat Feb 26 00:04:00 CST 2022 0 2196
axios下载文件(responseType:‘blob‘),判断是下载成功返回二进制流还是失败返回对象(比如服务端拒绝,返回对象前端如果依然按二进制流处理会导致下载undefined文件

比如前后端约定,下载成功返回二进制流,下载失败返回对象{code: 0, msg: ‘失败原因’} 问题:当下载文件时,axios配置responseType: ‘blob’,此时后台返回数据会被强制转为blob类型;如果后台返回失败对象前端也无法得知,如果按正常处理会得到名为 ...

Sat Dec 11 00:39:00 CST 2021 0 160
JavaScript Blob二进制文件对象(二)使用示例

JavaScript Blob二进制文件对象(二)使用示例 1.Blob 构造函数用法举例 Blob() 构造函数允许通过其它对象创建 Blob 对象。比如,用字符串构建一个 blob: 2.使用 Blob 创建一个指向类型化数组的URL 参考下面的代码 ...

Sat Aug 29 23:22:00 CST 2020 0 499
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM