spring文件下载记录

Posted 风雨的叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring文件下载记录相关的知识,希望对你有一定的参考价值。

/**
	 * 下载方法
	 * @param request
	 * @param response
	 * @param storeName 文件在存在位置的名字(需要带着后缀)
	 * @param contentType 下载文件的类型(如果文件类型比较多直接用"multipart/form-data"会自己判断文件类型)
	 * @param realName 用户下载文件的名称
	 * @throws Exception
	 */
	public void download(HttpServletRequest request,
			HttpServletResponse response, String storeName, String contentType,
			String realName) throws Exception {
		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("UTF-8");
		BufferedInputStream bis = null;
		BufferedOutputStream bos = null;
                //fileUploadPath文件的路径
                //UpFileRoute.itemFile是保存的目录名称
		String ctxPath = fileUploadPath+
				"\\"+UpFileRoute.itemFile+"\\";
		String downLoadPath = ctxPath + storeName;

		long fileLength = new File(downLoadPath).length();

		response.setContentType(contentType);
		response.setHeader("Content-disposition", "attachment; filename="
				+ new String(realName.getBytes("utf-8"), "ISO8859-1"));
		response.setHeader("Content-Length", String.valueOf(fileLength));

		bis = new BufferedInputStream(new FileInputStream(downLoadPath));
		bos = new BufferedOutputStream(response.getOutputStream());
		byte[] buff = new byte[2048];
		int bytesRead;
		while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
			bos.write(buff, 0, bytesRead);
		}
		bis.close();
		bos.close();
	}    

  

以上是关于spring文件下载记录的主要内容,如果未能解决你的问题,请参考以下文章

Spring+SpringMVC+MyBatis+Maven框架整合

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

CSP核心代码片段记录