web下载七牛云上面的图片资源(代码片段)

SDingBa SDingBa     2023-03-01     519

关键词:

本文将怎么通过浏览器打包下载七牛云服务器上面的图片资源;

**如果不用压缩打包处理,可以直接获取流后用对应的out输出就行,不做具体解析;**

1 先讲怎么打包下载吧.ZipOutputStream我用的是这个工具类
创建: ZipOutputStream out = new ZipOutputStream(new FileOutputStream(strZipName));
通过在for里面,对out.putNextEntry(new ZipEntry(“名字” + i+”.png”));
注意,要对资源流进行关闭处理
String[] fileUrl 是对应在七牛云上面的资源,可以直接在浏览器上面直接访问到的资源.

 @Test
    public void downloadFile() throws Exception 
        byte[] buffer = new byte[1024];
        // 生成的ZIP文件名为Demo.zip
        String strZipName = "Demo.zip";
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(strZipName));
        String[] fileUrl = 
                "http://lddn.com/1=4411b99f-e6f3-4d95-9c75-50ef1100f2d9_2016-07-08%2019-31-27%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png",
                "http://dn.com/3=855eb361-0068-4d20-88d8-ae5e440fddcf_2016-10-10%2010-22-20%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png" ;

        for (int i = 0; i < fileUrl.length; i++) 
            InputStream inStream = getInputStream(fileUrl[i]);
            // FileInputStream fis = new FileInputStream(file1[i]);
            out.putNextEntry(new ZipEntry("名字" + i+".png"));
            int len;
            // 读入需要下载的文件的内容,打包到zip文件
            while ((len = inStream.read(buffer)) > 0) 
                out.write(buffer, 0, len);
            
            out.closeEntry();
            inStream.close();
        
        out.flush();
        out.close();
        System.out.println("生成Demo.zip成功");

    
上面是普通java文件下载文件到本地的方法;
下面将一下web下载

2 web下在对应文件,先创建jsp(不做介绍).

3 对应的控制器

@ResponseBody
    @RequestMapping("download")
    public BaseVO downloadImage(HttpServletResponse response, AdMaterialParam param) 
    //要添加HttpServletResponse方法,因为浏览器下载要对对应的头数据进行设置;

response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(file, "UTF-8"));
adMaterialService.**download**(url);为下载图片返回流数据
try 
                response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(file, "UTF-8"));
                // ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file));
                ZipOutputStream out = new ZipOutputStream(response.getOutputStream());
                byte[] buffer = new byte[1024];
                for (AdImagePath adImagePath : adImagePaths) 
                    String url = qiniuYunUtils.getUrl() + adImagePath.getImageUrl();
                    InputStream inputStream = adMaterialService.download(url);

                    String imageName = adMaterialService.getImageOriginalFileName(adImagePath.getImageUrl());
                    out.putNextEntry(new ZipEntry(imageName));
                    int length;
                    while ((length = inputStream.read(buffer)) > 0) 
                        out.write(buffer, 0, length);
                    
                    if (out != null) 
                        out.closeEntry();
                    
                    if (inputStream != null) 
                        inputStream.close();
                    
                
                if (out != null) 
                    out.flush();
                    out.close();
                
             catch (UnsupportedEncodingException e) 
                e.printStackTrace();
             catch (IOException e) 
                e.printStackTrace();
            
**对网络资源的下载;**
 @Override
    public InputStream download(String url) 
        try 
            URL imageUrl = new URL(url);
            HttpURLConnection httpURLConnection = (HttpURLConnection) imageUrl.openConnection();
            httpURLConnection.setRequestMethod("POST");
            httpURLConnection.setConnectTimeout(5 * 1000);
            return httpURLConnection.getInputStream();
         catch (IOException e) 
            e.printStackTrace();
        
        return null;
    
public String getImageOriginalFileName(String url) 
        int indexFirst = url.indexOf("_") + 1;
        if (indexFirst > 0) 
            return url.substring(indexFirst);
        
        return "";
    

java实现七牛云文件或图片上传下载(代码片段)

...么选择七牛云?1.2.七牛云注册二、java操作七牛云对象存储下载2.1.pom.xml引入依赖2.2.上传下载具体代码三、具体业务例子(七牛云做图片服务器--SpringBoot)3.1.pom.xml(此处继承上面的依赖多引入一个)3.2.创建一个html页面3.3.接下来就是Fil... 查看详情

web上传图片到七牛云服务器(代码片段)

本文通过javaweb的使用,把要上传的图片通过浏览器上传到服务器上面.`文本仅供参考,可能出现很多不合理;`1创建对应的jsp页面:下面是jsp下面的对应的from表单,上传文件用的那么ImgFiles的属性名称,同样你可以使用其他的,或者... 查看详情

canvas保存图片到七牛云(代码片段)

最近在做一个项目,需要在前端对图片切片并上传到七牛云技术要点canvas.toBlob(blob=>);//可将canvas保存成二进制文件formData.append(‘file‘,blob,‘filename‘);//将二进制文件添加到FormData中ajax.send(formData);//上传数据到后端处理代码实... 查看详情

从七牛云迁移图片到github(代码片段)

...名空间至可用测试域名空间迁移。Step2:从测试域名的空间下载至本机。Step3:用git的方式,从本机上传至Github中Step4修改markdown文件中的图片路径Step1将废弃测试域名空间转移至测试域名空间。首先要下载qshell到主机,其实脚本程序... 查看详情

七牛云文件上传助手(代码片段)

...好的上传工具,于是写了这样的一个工具。效果使用方法下载程序包点击下载解压后直接在config.json文件里面天上自己七牛云相关的信息。config"access_key":"************"," 查看详情

javawebservletjsp使用七牛云api上传图片(代码片段)

文章目录JavaWebservletjsp使用七牛云API上传图片工具类七牛云工具类JDBC工具类servicePhotoServicePhotoServiceImplDaoPhotoDaoPhotoDaoImplvoMyPutRetPhotoResultwebappweb.xmldata.jspdetail.jspindex.jsplist.jsptransfer.jspservletJDBCs 查看详情

java向七牛云上传图片的摆动程序(代码片段)

查看详情

jsp使用七牛云api和webuploader上传多组图片(代码片段)

文章目录jsp使用七牛云API和webuploader上传多组图片介绍目录树遇到的问题上传组件的选择问题进度条多线程前端界面数据库关键代码UserPhotoDaoImplUploadServletJDBCServletlist.jspadd.jsppom.xml参考jsp使用七牛云API和webuploader上传多组图片介绍... 查看详情

极简图床挂了该如何找回七牛云外链失效图片(代码片段)

...的。我登录七牛云控制台发现图片文件还在,但就是没法下载,这可怎么办所幸的是其开发者中心提供了命令行辅助工具(qrsctl),下载链接下载后的文件记得自己改一下后缀exe,打开cmd命令行#先登录>C:UserseverloseDownloadsqrsctl-v3.2... 查看详情

七牛云测试域名到期博客图片问题(代码片段)

从上周末开始到今天,终于把七牛云到期的测试域名所属空间的博客照片迁移到腾讯云。腾讯云有一定量免费空间供用户使用(发博文时免费额度:50GB标准存储容量,10GBCDN回源流量,100万次读请求,100万次写请求。费用实例)... 查看详情

go实战|电商平台图片上传到七牛云(代码片段)

...nfig3.upload完整代码这一章节中我们介绍如何把图片上传到七牛云,并且返回对应图片的url。因为后续我们的创建的商品,更换头像等等都是把我们的图片上传七牛云存储,再返回对应的url的。1.获取配置信息打开七牛... 查看详情

微信小程序上传图片及上传到上传到七牛云(代码片段)

微信小程序图片上传功能包含:上传到七牛云、删除图片、查看图片   1.创建子组件tpupload//wxml文件<viewstyle="padding:10px;"><!--图片上传--><viewclass="weui-uploader"><viewclass="img-vweui-uploader__bd">< 查看详情

flask-web——对象存储——图片上传存储传输等(代码片段)

1.七牛云存储需求在项目中,如用户头像、文章图片等数据需要使用文件存储系统来保存方案自己搭建文件系统服务选用第三方对象存储服务我们在项目中使用七牛云对象存储服务http://www.qiniu.com。2.使用注册新建存储空间使... 查看详情

七牛云java基础版本(代码片段)

最近用到了七牛云,挺好用的,先来讲一下官方的demo,之后会上传一个自己封装的utils.java文件本文以图片为例更具体的请查看我的下一篇博客,关于七牛云的…….gGradle:compile'com.qiniu:qiniu-java-sdk:7.x.+'MAVEN:<dependency><group... 查看详情

golang七牛云上传示例(代码片段)

查看详情

php表单上传图片到七牛云存储并返回地址……求具体流程~有代码更好

...太少了。研究了下API之后,现在已经能实现图片的上传和下载及上传之后的重定向。首先本篇文章实现的功能如下:1.利用表单上传功能,用户可以点击选择文件按钮,选择本地的一个文件,同时设定上传的图片的名称,点击上... 查看详情

django和七牛云交互(代码片段)

django和七牛云交互七牛开发文档安装pipinstallqiniu初始化#access_key个人中心的ak#secret_key个人中心的skfromqiniuimportAuthq=Auth(access_key,secret_key)上传流程fromqiniuimportAuth,put_file,etagimportqiniu.config#需要填写你的AccessKey和SecretKeyaccess_key='Acces... 查看详情

如何用建木ci往七牛云上传文件(代码片段)

#gitee仓库路径#七牛云空间管理中创建的空间名字#七牛云密钥管理中的AK#七牛云密钥管理中的SK#存储区域,不设置时,自动识别,华东:z0;华北:z1;华南:z2;北美:na0;东南亚:as0#上传后在七牛云生成的uri#要上传的文件目... 查看详情