关于请求发送文件,与响应接收文件
发送二进制文件发送端的Content-Type
当传递的数据或上传的表单中是二进制文件等类型时,Content-Type必须转换为对应类型
接收二进制文件,与二进制文件流时需要声明responseType为blob如下,
this.$axios
.get(
`/fileName=${fileName}`,
{
responseType: "blob",
}
)
.then((resp) => {})
否则读取的二进制流文件将被损坏无法正确的转换为base64或file
这种形式的数据就是二进制文件流
js中二进制文件的存放有很多形式 file blob base64 二进制文件流等
%PDF-1.3%����dY��rEPZ.��Pމ4]h�S�`� "�k�-�k����Rr}��W��
�t��I��Ԅ+�I���pM>I���I�v�V��F&�DH�ϣ&���4�<�F�M��F��7r�T#_��=u�ph
如果需要将二进制文件即file类型转换成图片src中生效的地址可以创建一个FileReader对象使用
readAsDataURL方法参数为file文件在其onload方法中获取到result
如果是二进制文件流需要先转换成file
二进制流文件fileStr
let file = new File(
[fileStr],
'文件名'
);
//文件file
let fileReader = new FileReader();
fileReader.readAsDataURL(imgFile);
fileReader.onload = (evt) => {
img.setAttribute("src", evt.target.result);
};