关于前端如何下载后端接口返回content-type为application/octet-stream的文件

这篇具有很好参考价值的文章主要介绍了关于前端如何下载后端接口返回content-type为application/octet-stream的文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于前端如何下载后端接口返回response-type为application/octet-stream的文件

问题描述

后端接口定义为直接返回一个文件,如果带认证信息可以直接通过浏览器url下载,但是接口需要传headers认证信息,url上又不支持传相关信息
response content-type”为“application/octet-strean,1024程序员节
response content-type”为“application/octet-strean,1024程序员节

解决

前端正常请求接口,设置responseType值为blob,这样取到接口返回的数据为Blob类型,之后通过由blob数据创建一个指向类型数组的URL来完成文件下载

打印出来的返回值:
response content-type”为“application/octet-strean,1024程序员节文章来源地址https://www.toymoban.com/news/detail-779817.html

const data = await request(`/api/xxx`, {
    method: 'get',
    responseType: 'blob',
})
const blob = new Blob([data])
const fileLink = document.createElement('a') //创建一个a标签通过a标签的点击事件区下载文件
fileLink.download = 'import_example.jsonl.gzip'
fileLink.style.display = 'none'
fileLink.href = URL.createObjectURL(blob) //使用blob创建一个指向类型数组的URL
document.body.appendChild(fileLink)
fileLink.click()
URL.revokeObjectURL(fileLink.href) // 释放URL 对象
document.body.removeChild(fileLink)

到了这里,关于关于前端如何下载后端接口返回content-type为application/octet-stream的文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端知识~Content-Type和Accept

    Content-Type和Accept是两个HTTP标头(HTTP headers),用于在HTTP请求和响应之间传递有关请求的数据类型和响应的首选内容类型的信息。这两个标头在HTTP通信中起着关键的作用。 Content-Type: Content-Type 是HTTP请求头或响应头的一部分,用于指示HTTP消息主体(请求或响应体)的媒体类

    2024年02月10日
    浏览(39)
  • 关于Axios发送Get请求无法添加Content-Type

    在拦截器中尝试给headers添加Content-Type: 如果是GET请求,会发现请求头中无论如何加不上Content-Type,查看源码: 如果data未定义则会将Content-Type设置为null; 那么修改data,也是从网上查到的: 普通GET请求可以正常添加Content-Type,但是如果需要将Content-Type改成“multipart/form-data”

    2024年02月04日
    浏览(48)
  • Vue3 - 详细实现下载从服务端返回的文件流 Blob 对象教程,前端下载后端接口返回的文件流并自动保存到本地,支持任何格式的文件下载(从后端拿到二进制文件流 Blob 对象,前端实现点击下载功能)

    调用服务端(后端)接口拿到文件流,通过前端下载并保存到本地。 本文 实现了在 vue3 项目中,通过后端接口返回的二进制文件流 Blob 对象,在前端进行点击下载并保存到用户本地,任何格式的文件都可以轻松下载, 保证您直接复制代码,改个请求地址就可以使用了, 如下

    2024年02月04日
    浏览(211)
  • vue前端如何去掉后端接口返回的一个字段中时间里面的时分秒 只需要年月日

    在 Vue 前端中,可以使用 JavaScript 中的 Date 对象来处理日期。对于从后端接口返回的日期字符串,可以先将其转换为 Date 对象,然后再使用 getFullYear()、getMonth()、getDate() 等方法获取年月日等信息 。 以下是一个示例函数,它接受一个日期字符串作为参数,并返回 YYYY-MM-DD 格式

    2024年02月14日
    浏览(50)
  • postman可以通的请求,前端通不了(前端添加Content-type,后端收不到请求)

    接口完成之后,自己使用postman测试了一下,没有问题; 可是在和小组前端调试接口的时候,他却说访问不了; 信息如下:(我自己写的一个打印请求信息的拦截器) 发现报错信息是:  Content type \\\'application/x-www-form-urlencoded;charset=UTF-8\\\' not supported 也就是说发送过来的内容格式

    2024年02月04日
    浏览(48)
  • 在网页下载文件时,设置各种文件格式的response头中的content-type

    Ext MIME Type .doc application/msword .dot application/msword .docx application/vnd.openxmlformats-officedocument.wordprocessingml.document .dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template .docm application/vnd.ms-word.document.macroEnabled.12 .dotm application/vnd.ms-word.template.macroEnabled.12 .xls application/vnd.ms-excel .x

    2024年02月05日
    浏览(58)
  • Python爬虫关于网站上传图片: Content-Type: multipart/form-data; boundary=----WebKitFormBoundary****************

    我们在使用python爬虫, 例如使用requests想服务器发送请求,模拟上传图片的时候会遇到Reqest Headers 中有一个:Content-Type: multipart/form-data; boundary=----WebKitFormBoundary****************,  尝试这从其它返回的接口中也找不到它, 我们也一度怀疑是否是在前端JS中生成的,不要着急! 只是

    2024年02月04日
    浏览(47)
  • 如何在 Postman 中设置 Content-Type?

    在使用  Postman  进行 API 测试时,有时需要设置请求的 Content-Type。本文将介绍如何在 Postman 中设置 Content-Type。想要学习更多关于 Postman 的知识,可访问 Postman 中文文档。 1、首先,打开 Postman 工具并创建一个新的请求接口。输入请求地址,例如  https://api.example.com/user 。 2、

    2024年02月08日
    浏览(57)
  • 请求头content-type的不同格式后端应该如何接收

    博客原文地址 \\\"Content-Type\\\" 是HTTP请求头中的一个标头,用于指示请求或响应中包含的实体的媒体类型。它告诉客户端如何处理响应中的数据,并通知服务器客户端正在发送的数据类型。它可以出现在请求或响应标头中。 Content-Type 的值通常由一个媒体类型和一个可选的字符集组

    2024年02月11日
    浏览(48)
  • 前端调用后端接口,返回200,但是数据返回的是html标签

    这是一个前后端分离的项目,后端已经完成,后端在本地上,自动创建了数据库,前端为了完成一个注册功能,去调用后端的/registerUser接口,当输入用户名和密码的时候,我也查过csdn上其他博主的回答,但是并不能很清除的去解决我的问题,这边的bug是返回的虽然是 200 响应

    2024年03月22日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包