栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java图片单个下载和批量下载

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java图片单个下载和批量下载

前端请求

oneDownload : function(employeeImage,name){  // 单个图片下载
            window.location.href = encodeURI(App.getUrl("/api/rearService/safetyManagement/rearFaceRecognitionApplies/oneImgDownload?imgId="+ employeeImage+"&name="+name));
        },
batchDownload :function(){ 		// 图片批量下载
            // alert($("#id").val())
            window.location.href = encodeURI(App.getUrl("/api/rearService/safetyManagement/rearFaceRecognitionApplies/batchDownload?id="+$("#id").val()))
        },

后端响应

@Override
	public void oneImgDownload(String imgId, String name, HttpServletResponse response) {

		IStoreManager storeManager = SiteContext.getBean(IStoreManager.class);
		try {
			name = URLEncoder.encode(name+".jpg", "UTF-8");
			InputStream in = storeManager.download(imgId);
			response.setContentType("application/octet-stream");
			response.setHeader("Content-Disposition", "attachment;filename="+name);
			byte[] buff = new byte[1024];
			int len = 0;
			OutputStream output = response.getOutputStream();
			while ((len=in.read(buff))>0){
				output.write(buff,0,len);
			}
			output.close();
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	@Override
	public void batchImgDownload(String id, HttpServletResponse response) {

		// 获取子表数据
		RearFaceRecognitionManageForm manageForm = recognitionManageService.getForm(id);
		List applyList = manageForm.getApplyList();
		try{
			String downloadFilename = manageForm.getTitle()+".zip";//文件的名称
			downloadFilename = URLEncoder.encode(downloadFilename, "UTF-8");//转换中文否则可能会产生乱码
			response.setContentType("application/octet-stream");// 指明response的返回对象是文件流
			response.setHeader("Content-Disposition", "attachment;filename=" + downloadFilename);// 设置在下载框默认显示的文件名
			ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
			if(!applyList.isEmpty()) {
				IStoreManager storeManager = SiteContext.getBean(IStoreManager.class);
				int count = 1;
				for (RearFaceRecognitionApply faceRecognitionApply : applyList) {
					// 定义每个图片名称+索引防止重名覆盖
					zos.putNextEntry(new ZipEntry(faceRecognitionApply.getEmployeeName()+(count++)+".jpg"));
					// 根据图片id,到统一存储获取图片流
					InputStream download = storeManager.download(faceRecognitionApply.getEmployeeImage());
					byte[] buffer = new byte[1024];
					int len = 0;
					while ((len = download.read(buffer)) != -1) {
						zos.write(buffer, 0, len);
					}
					download.close();
				}
			}
			zos.flush();
			zos.close();
		}catch (IOException e){
			e.printStackTrace();
		}
	}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932718.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号