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

文章介绍了如何从七牛云下载文件并在浏览器页面上显示。首先,需注册七牛云账号并创建公开的存储空间。接着,配置七牛云工具类,包括accessKey、secretKey等信息。前端使用XMLHttpRequest进行POST请求,接收blob响应类型的数据,然后根据不同浏览器处理下载。后端通过downFile方法处理下载请求。
摘要由CSDN通过智能技术生成

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

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

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

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

在这里插入图片描述

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

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

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

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

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

   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")
    @ResponseBody
    public void downOldFile(DownFileInfo bown, HttpServletResponse response) throws IOException {
        OutputStream os = response.getOutputStream();
        QiNiuUtil.downFile(bown.fileUrl, os );
    }

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博客胡

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值