IO流保存上传图片
Posted 南国的刘新
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流保存上传图片相关的知识,希望对你有一定的参考价值。
@RequestMapping(value = "filesUpload") public void filesUpload(@RequestParam MultipartFile[] file, HttpServletRequest request, @RequestParam String name,@RequestParam Integer size,@RequestParam String type, @RequestParam String flagCode, String skuId ) throws IOException { /*if(Common.notEmpty(skuId)){ getImgInfo(flagCode, skuId,"MALL_"+flagCode+""+skuId); }*/ List<String> list = new ArrayList<String>(); if (file != null && file.length > 0) { for (int i = 0; i < file.length; i++) { MultipartFile files = file[i]; // 保存文件 list = saveFile(request, files, list,name, size, type,flagCode,skuId); } } } private List<String> saveFile(HttpServletRequest request, MultipartFile file, List<String> list,String fileName,Integer fileSize,String fileType,String flagCode,String skuId) throws IOException { // 判断文件是否为空 if (!file.isEmpty()) { try { // 保存的文件路径(如果用的是Tomcat服务器,文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中 String uuid = Common.get32UUID(); String uploadPath=PropertiesUtil.get("/module.properties", "mall.uploadPath"); String fileNmae = file.getOriginalFilename(); String nameType = fileNmae.substring(fileName.lastIndexOf(".")+1); String attPath =uuid+"."+nameType; //saveMallAttachment(uuid,fileName, fileSize, fileType, attPath,flagCode,skuId); String filePath = uploadPath.replaceAll("/","\\\\") + attPath; list.add(file.getOriginalFilename()); File saveDir = new File(filePath); if (!saveDir.getParentFile().exists()) saveDir.getParentFile().mkdirs(); // 转存文件 // file.transferTo(saveDir); FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(saveDir)); return list; } catch (Exception e) { e.printStackTrace(); } } return list; }
以上是关于IO流保存上传图片的主要内容,如果未能解决你的问题,请参考以下文章
java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段