javaWeb简易下载文件

4 篇文章 0 订阅
4 篇文章 0 订阅

javaweb简易下载文件

Controller方法

@RequestMapping("/downloadImg")
public String downloadTemplate(String name,HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException {
         //name是你要下载的文件名的前缀
         //我要下载的是一个图片
         String fileName = name+".jpg"; //下载的文件名
          // 如果文件名不为空,则进行下载
	        if (fileName != null) {
	            //设置文件路径
	            String realPath = "E:\\shangchuan";
	            File file = new File(realPath, fileName);

	            // 如果文件名存在,则进行下载
	            if (file.exists()) {

	                // 配置文件下载
	                response.setHeader("content-type", "application/octet-stream");
	                response.setContentType("image/jpeg");
	                // 下载文件能正常显示中文
	                response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));

	                // 实现文件下载
	                byte[] buffer = new byte[1024];
	                FileInputStream fis = null;
	                BufferedInputStream bis = null;
	                try {
	                    fis = new FileInputStream(file);
	                    bis = new BufferedInputStream(fis);
	                    OutputStream os = response.getOutputStream();
	                    int i = bis.read(buffer);
	                    while (i != -1) {
	                        os.write(buffer, 0, i);
	                        i = bis.read(buffer);
	                    }
	                    System.out.println("Download the song successfully!");
	                }
	                catch (Exception e) {
	                    System.out.println("Download the song failed!");
	                }
	                finally {
	                    if (bis != null) {
	                        try {
	                            bis.close();
	                        } catch (IOException e) {
	                            e.printStackTrace();
	                        }
	                    }
	                    if (fis != null) {
	                        try {
	                            fis.close();
	                        } catch (IOException e) {
	                            e.printStackTrace();
	                        }
	                    }
	                }
	            }
	        }
	        return null;
}

vue-前端关键代码

window.open( "http:///localhost:8888/downloadImg?name="+this.name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值