当前位置: 首页 > news >正文

wordpress日期间隔成都自然排名优化

wordpress日期间隔,成都自然排名优化,做网页去哪些网站找素材较好,视频网站建设方案书文章目录 不使用代理服务器blobblob构造函数通过FormData对象的getBlob方法创建Blob对象将Blob对象转换成UR 使用代理服务器 前后端分离项目中下载与其他接口的使用不同,一般下载不走node,不通过代理服务器,而是直接在前台发送请求&#xff0…

文章目录

    • 不使用代理服务器
      • blob
        • blob构造函数
        • 通过FormData对象的getBlob方法创建Blob对象
        • 将Blob对象转换成UR
    • 使用代理服务器

前后端分离项目中下载与其他接口的使用不同,一般下载不走node,不通过代理服务器,而是直接在前台发送请求,又因为前端使用的是代理服务器,会出现跨域问题,需要后端协助,允许下载文件接口跨域

不使用代理服务器

axios({method: 'GET',url: `url`,  // 后端下载接口headers: {token: token},params: {fileId: id},// 后端返回的是二进制数据,请求的响应类型为二进制数据,如果不加下载的文件是乱码responseType: 'blob'   
}).then(res => {let file = res.datalet disposition = (res.headers['content-disposition']).split('=')let filename = disposition[1] //文件名const blob = new Blob([file])let url = URL.createObjectURL(blob)// 创建下载链接let downloadLink = document.createElement('a');downloadLink.href = urldownloadLink.download = filename; // 设置文件名// 添加到页面并模拟点击下载renderingdocument.body.appendChild(downloadLink);downloadLink.click();// 清理下载链接document.body.removeChild(downloadLink);
}).catch(err => {console.log(err)})

blob

blob表示二进制的大对象。在数据库管理系统中,将二进制数据存储为一个单一个体的集合。在 JavaScript 中 Blob 类型的对象表示不可变的类似文件对象的原始数据。
Blob 对象含有两个属性:size 和 type。其中 size 属性用于表示数据的大小(以字节为单位),type 是一个字符串。

blob构造函数
const blob = new Blob([file])
通过FormData对象的getBlob方法创建Blob对象
const formData = new FormData();
formData.append('file', file);
const blob = formData.getBlob('file');
将Blob对象转换成UR
const url = URL.createObjectURL(blob)

使用代理服务器

如果用node,浏览器端还需要判断下载文件类型,从而添加对应的content-type和拓展名,如果后端返的全是200,还可能出现没有文件,下载下来是下图这样的
在这里插入图片描述浏览器端

function fileDownload() {const fileDwon = document.querySelectorAll('.fileDwon')console.log(fileDwon);fileDwon.forEach(function (value) {value.addEventListener('click', function () {let id = value.idconsole.log(id);download({method: 'GET',url: `/downLoadFile`,params: {id: id},responseType: 'blob',}).then(res => {let file = res.data;const blob = new Blob([file])let url = URL.createObjectURL(blob)console.log(blob);// 创建下载链接var downloadLink = document.createElement('a');downloadLink.href = urldownloadLink.download = `${res.headers.filename}.doc`; // 设置文件名// 添加到页面并模拟点击下载document.body.appendChild(downloadLink);downloadLink.click();// 清理下载链接URL.revokeObjectURL(url);document.body.removeChild(downloadLink);}).catch(err => {console.log(err)})})})
}

服务器端

// 下载文件
router.get('/downLoadFile', async (req, res) => {let fileId = req.query.idlet token = req.headers.tokenconst url = `http://123.57.144.143:8080/warmHeartDownload/downLoadFile`;try {const pipelineAsync = promisify(pipeline);const response = await fetch(url, {headers: {token},params: {fileId: fileId},});if (!response.ok) {console.error('获取失败');}await pipelineAsync(response.body, res);} catch (error) {console.error('Download error:', error);res.status(500).send('Error downloading file');}
})
http://www.hrbkazy.com/news/12629.html

相关文章:

  • 建设银行网站不能登录蜂蜜网络营销推广方案
  • 怎么建网站app简述seo的概念
  • 如何做网站关键词排名重庆seo团队
  • 乐清市信息公开网关键词优化举例
  • 网站建设企业邮箱长沙官网seo技术
  • 三合一网站怎么做广州网站建设
  • 公关策划网站建设高端定制网站建设公司
  • 类似头条的网站怎么做中国营销传播网官网
  • 新网站怎么运营阿里云域名注册入口
  • 刚建设的网站如何推广温州seo网站推广
  • 台州网站开发最全bt磁力搜索引擎索引
  • 深圳做网站网络营销公司哪家好安卓优化大师全部版本
  • 深圳电商网络网站制作电商网站
  • 聊城做网站的公司精英seo公司优化方案
  • 网站优化销售话术百度广告联盟app下载官网
  • python网站开发的优势广州疫情最新消息今天封城了
  • 网页设计网站制作公司360优化大师软件
  • 电影网站开发毕业论文搜索引擎营销的英文简称
  • 网站维护与建设考试如何在百度上推广自己
  • 网站如何留言阜新网络推广
  • wordpress管理员账号数据库添加seo计费怎么刷关键词的
  • 网站版建设湖南优化电商服务有限公司
  • 婚礼策划网站设计web个人网站设计代码
  • 北京手机网站建设外包流量平台排名
  • 软件外包平台 接单做好的网站怎么优化
  • 介绍网站建设文娱热搜榜
  • 校园网站建设必要性微信怎么做推广
  • 当今做网站的语言有哪些关键词排名提高
  • 专门做旅游攻略的网站怎样在百度答题赚钱
  • 做网站最便宜企业培训十大热门课程