七牛云下载文件(显示在浏览器上)

最近在做关于如何将七牛云的文件下载下来,且在浏览器页面展示下载文件。

首先,我们需要注册七牛云账号 七牛云官网。

选择个人账户即可,若是需要企业账户,则可以选择企业账户。

注册成功绑定邮箱后,我们可以创建存储空间,如下图:

在这里插入图片描述

存储空间名称相当于标识,将来上传文件会需要到,通过该标识知晓对哪个空间进行文件操作。

访问控制我们选择公开即可

存储区域 根据自己所在区域进行设置

创建成功后如下图所示:
在这里插入图片描述

接下来我们就可以创建七牛云工具类,将相关信息配置好

   private String accessKey = "9a7NMGmQzBZQjDt8Ok";private String secretKey = "llnLAyxQo5-tCkr";private String bucketName = "huyuelei";private String fileDomain = "";private final  String  filePath="http://rwyj6tqd1.hd-bkt.clouddn.com/";

在这里插入图片描述
有需要工具类的同学可以下载工具类

前端部分:

function downOldFile(data) {console.log(data)let url=prefix+"/downOldFile?fileName="+data.fileName+'&fileUrl='+data.fileUrl;let fileName=data.fileName;var xhr = new XMLHttpRequest();xhr.open("post", url, true);xhr.responseType = "blob";xhr.setRequestHeader('Accept', 'application/json');xhr.onload = function () {console.log(this)$.modal.closeLoading();if (this.status == 200 && this.response.size > 0) {var blob = this.response;if (window.navigator.msSaveOrOpenBlob) { // IE浏览器下navigator.msSaveBlob(blob, fileName);} else {var link = document.createElement("a");link.href = window.URL.createObjectURL(blob);link.download = fileName;link.click();window.URL.revokeObjectURL(link.href);$.modal.closeAll();}}};xhr.send();}

后端部分

 @PostMapping("/downOldFile")@ResponseBodypublic void downOldFile(DownFileInfo bown, HttpServletResponse response) throws IOException {OutputStream os = response.getOutputStream();QiNiuUtil.downFile(bown.fileUrl, os );}

今天分享到此结束,有需要的同学可以留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7581.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——统信UOS(v20-1060a)部署.net core项目

部署.net core之前,请先确定已经安装了运行环境 Linux安装.net core环境 新建一个用于测试的 .net core web 项目 直接发布到文件夹,目标运行时选择 linux-64,这里根据你自己的操作系统的运行环境选择。 先点击完成,后面再设置参…

2023年Web安全学习路线总结!430页Web安全学习笔记(附PDF)

关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线、web安全攻防笔记、渗透测试路线图 网络安全的范畴很大,相较于二进制安全等方向的高门槛、高要求,Web安全体系比较成熟,在现阶段来看,但凡有自己…

【全文搜索选型】全文搜索 PostgreSQL 或 ElasticSearch

在本文中,我记录了在 PostgreSQL(使用 Django ORM)和 ElasticSearch 中实现全文搜索 (FTS) 时的一些发现。 作为一名 Django 开发人员,我开始寻找可用的选项来在大约一百万行的标准大小上执行全文搜索。有两个值得尝试的选项&…

怎样优雅地增删查改(一):从0开始搭建Volo.Abp项目

软件系统中数据库或者持久层的基本操作功能可以用Curd描述,Curd即 增加(Create)、更新(Update)、读取查询(Retrieve)和删除(Delete), 这4个单词的首字母。 在…

【HTTP 协议2】如何构造 HTTP 请求

文章目录 前言一、地址栏输入二、HTML 特殊标签三、form 表单四、ajax总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结…

MFC多文档绘制不同图形

VC6新建一个多文档项目;根据窗口标题的最后数字,绘制不同图形; void CPrdView::OnDraw(CDC* pDC) {CPrdDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCString str1 pDoc->GetTitle();CPoin…

JumpServer开源堡垒机页面配置

JumpServer开源堡垒机页面配置 一、登录二、功能模块2.1、控制台2.1.1、用户管理2.1.1.1、用户列表2.1.1.2、用户组 2.1.2、资产管理2.1.2.1、资产列表2.1.2.1.1、创建服务器链接2.1.2.1.2、创建数据库MySQL链接 2.1.2.2、网域列表2.1.2.3、平台列表2.1.2.4、标签列表 2.1.3、账…

Type-c取电方案

如今随着这几年的USB-C PD适配器的普及,消费者手上的PD协议适配器越来越普遍,如何让微软surface 充电器线支持使用PD适配器快充?加入一颗受电端PD协议取电芯片——LDR6328能够完美的兼容市面上的PD适配器,支持不同的电压输出。 1…

打包apk时出现Execution failed for task ‘:app:lintVitalRelease

程序可以正常运行,但是打包apk的时候报Execution failed for task ‘:app:lintVitalRelease导致打包失败,原因是执行lintVitalRelease失败了,存在错误。解决办法:在app模块的build.gradle的Android里面添加如下代码: l…

剑指offer刷题笔记--Num31-40

1--栈的压入、弹出序列(31) 直观思路:用两个指针 i 和 j 指向压入和弹出的 vector,终止条件是:所有元素都压入了辅助栈(i > len),且辅助栈当前的栈顶元素与弹出的元素 popped[j] …

跨境干货|Etsy安全入驻开店攻略

2023了,跨境电商现在上车还来得及吗?当然!Etsy是一个低成本低竞争高回报的平台,相较于其他电商平台,他的佣金非常低,利润率更高,非常合适跨境小白入局。 但由于目前Etsy关闭了中国大陆卖家的注…

[SpringBoot]Spring Security框架

目录 关于Spring Security框架 Spring Security框架的依赖项 Spring Security框架的典型特征 关于Spring Security的配置 关于默认的登录页 关于请求的授权访问(访问控制) 使用自定义的账号登录 使用数据库中的账号登录 关于密码编码器 使用BCry…