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

java如何进行网站开发十大计算机培训学校

java如何进行网站开发,十大计算机培训学校,做兼职哪个网站比较好,视频号商店怎么开通文件资源的下载,是我们业务开发中常见的需求。作为前端开发,学习下如何自己使用node的express框架来实现资源的下载操作。 实现效果 代码实现 前端 1.封装的请求后端下载接口的方法,需求配置aixos的请求参数里面的返回数据类型为blob // 下载 export…

文件资源的下载,是我们业务开发中常见的需求。作为前端开发,学习下如何自己使用node的express框架来实现资源的下载操作。

实现效果

请添加图片描述
请添加图片描述

代码实现

  • 前端

1.封装的请求后端下载接口的方法,需求配置aixos的请求参数里面的返回数据类型为blob

// 下载
export function downLoad(name) {return instance.get(`/course/download?name=${name}`, {responseType: "blob",});
}

2.下载的核心方法,这里不能直接后端返回给我们的资源url,因为对于图片和pdf文件,浏览器的首选操作是预览,不是下载本地,所以我们这里需要转换下数据格式。

const downloadSource = async (item) => {const data = await downLoad(item.attachments);const blob = new Blob([data]);let filename = item.name;const fileUrl = item.attachments;const extname = fileUrl.substring(fileUrl.lastIndexOf(".") + 1);filename = filename + "." + extname;const link = document.createElement("a");link.download = filename;link.target = "_blank";link.style.display = "none";link.href = URL.createObjectURL(blob);document.body.appendChild(link);link.click();URL.revokeObjectURL(link.href);document.body.removeChild(link);
};

3.后端响应的数据格式
在这里插入图片描述

  • 后端
    1.模拟数据
    在这里插入图片描述

2.后端接口方法,"Content-Disposition这个响应头表示资源是需要下载的,如果含有中文可能会报错,解决方法是只需要我们encodeURIComponent转译就行了。

//下载资料
const imagePath = (name) => path.join(__dirname, `../public/images/${name}`);
const downloadFile = (req, res, next) => {// console.log("🚀 ~ fs.readFile ~ imagePath:", req.query.name);const nameArr = req.query.name.split("/");fs.readFile(imagePath(nameArr[nameArr.length - 1]), (err, buffer) => {if (err) {res.status(500).send("Error reading image");return;}// 设置响应头switch (req.query.name) {case "pdf":res.setHeader("Content-Type", "application/pdf");break;default:res.setHeader("Content-Type", "image/jpeg");}// 设置响应头res.setHeader("Content-Type", "application/pdf");res.setHeader("Content-Disposition",`attachment; filename=${encodeURIComponent(nameArr[nameArr.length - 1])}`);// 发送图片数据res.send(buffer);});
};

在这里插入图片描述
3.配置请求方法路径
在这里插入图片描述
这样我们就实现了图片,pdf等资源的下载。这里只演示了图片和资源两种文件类型,其余的类型是一样的原理,可以自行添加测试。

http://www.dtcms.com/wzjs/317088.html

相关文章:

  • 网站建设营销词山东一级造价师
  • 专业的网站建设公司优化搜索曝光次数的方法
  • 北京最好的网站制作公司百度关键词热搜
  • 四川住房和城乡建设厅进不去网站知名seo公司
  • 广州建设局网站首页百度指数购买
  • 用fullpage做的网站爱站网爱情电影网
  • 广州旅游网站建设江门百度seo公司
  • 青州企业网站建设找文网客服联系方式
  • 黄页网站查询数据山东潍坊疫情最新消息
  • 做新闻网站需要注册第几类商标宁波seo关键词培训
  • 金坛区建设局网站徐州seo顾问
  • 国外好的做电视包装的网站网店推广有哪些
  • wordpress 头像本地化南宁哪里有seo推广厂家
  • 公司网站备案信息查询百度推广费2800元每年都有吗
  • 搭建一个购物网站今天新闻头条最新消息
  • 苏州市公共交易资源平台网站编辑seo
  • 一级造价工程师准考证打印时间福建企业seo推广
  • wordpress建设企业网站制作网页需要多少钱
  • 小企业网站建设一般收费东莞seoseo关键词排名优化
  • 我的文档上传到网站 做链接各网站收录
  • p2p网上贷款网站建设方案.docx西安网络推广公司大全
  • 一些大型网站的服务器需要租用多大的带宽营业推广促销方式有哪些
  • 做学校后台网站用什么浏览器举例网络营销的例子
  • 布吉网站建设哪家好seo搜索引擎优化排名哪家更专业
  • 如何承接网站建设外包网站建设网站
  • 阿里巴巴1688怎么做网站seo 网站推广
  • 做网站 php asp.net jsp关键词排名查询工具有什么作用?
  • html电子商务网站模板下载上海搜索排名优化公司
  • 初次安装宽带要多少钱网站打开速度优化
  • 网站开发分析报告营销传播