生也有涯,知也无涯。这篇文章主要讲述SSMAppFileUtils相关的知识,希望能为你提供帮助。
11
package com.kikyo.sys.utils; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URLEncoder; import java.util.Properties; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FileUtils; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; public class AppFileUtils {/** * 得到文件上传的路径 */ public static String PATH = "E:/upload/"; static { InputStream stream = AppFileUtils.class.getClassLoader().getResourceAsStream("config/file.properties"); Properties properties = new Properties(); try { properties.load(stream); PATH = properties.getProperty("path"); } catch (IOException e) { e.printStackTrace(); } }/** * 文件下载 * * @param response * @param path * @param oldName * @return */ public static ResponseEntity< Object> downloadFile(HttpServletResponse response, String path, String oldName) { //4,使用绝对路径+相对路径去找到文件对象 File file = new File(AppFileUtils.PATH, path); //5,判断文件是否存在 if (file.exists()) { try { try { //如果名字有中文 要处理编码 oldName = URLEncoder.encode(oldName, "UTF-8"); } catch (Exception e) { e.printStackTrace(); } //把file转成一个bytes byte[] bytes = FileUtils.readFileToByteArray(file); HttpHeaders header = new HttpHeaders(); //封装响应内容类型(APPLICATION_OCTET_STREAM 响应的内容不限定) header.setContentType(MediaType.APPLICATION_OCTET_STREAM); //设置下载的文件的名称 header.setContentDispositionFormData("attachment", oldName); //创建ResponseEntity对象 ResponseEntity< Object> entity = new ResponseEntity< Object> (bytes, header, HttpStatus.CREATED); return entity; } catch (Exception e) { e.printStackTrace(); } return null; } else { PrintWriter out; try { out = response.getWriter(); out.write("文件不存在"); out.flush(); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }/** * 根据相对路径删除硬盘上文件 * * @param path2 */ public static void deleteFileUsePath(String path) { String realPath = PATH + path; //根据文件 File file = new File(realPath); if (file.exists()) { file.delete(); } } }
【SSMAppFileUtils】
推荐阅读
- myBatis mapper接口方法重载问题
- Android日期时间控件DatePickerDialog和TimePickerDialog
- 警告: Hessian/Burlap: 'com.github.pagehelper.Page' is an unknown class in WebappClassLoader(示例
- 一加6安卓10降级安卓9稳定版并且禁用系统更新教程
- VS 2019开发APP多界面开发
- Android : SQLite 版学生系统
- Appnium 环境搭建
- Android Studio学习记录-第五周
- Stork(如何用C++编写编程语言)