1. Controllerjava
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartFile; public Result uploadController(MultipartFile file, HttpServletRequest request) throws Exception { /** * 也能夠直接經過request獲取文件 */ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file"); /** * 圖片訪問url * http://192.168.11.95:8080/relativePath */ InetAddress address = InetAddress.getLocalHost(); String url = request.getScheme() + "://" + address.getHostAddress() + ":" + request.getServerPort() + "/" + relativePath; /** * 獲取項目根路徑 * D:\ideas\xxx\out\artifacts\xxx_war_exploded\ */ ServletContext sr = request.getSession().getServletContext(); String path = sr.getRealPath("/") + imageConfig.getDir(); return save(file.getInputStream()); }
2. Serviceweb
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; /** * 獲取項目根路徑 */ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String root = request.getSession().getServletContext().getRealPath("/"); /** * 目錄不存在則建立 * fileName = ...../upload/1.img */ String dir = fileName.substring(0, fileName.lastIndexOf(File.separator)); File dirFile = new File(dir); if (!dirFile.exists()) dirFile.mkdirs(); /** * 建立文件 */ File file = new File(fileName); if (!file.exists()) file.createNewFile();
3. 注意點spring