package com.casic.PgInterface.reservePlan.manager; import com.casic.PgInterface.core.hibernate.HibernateEntityDao; import com.casic.PgInterface.reservePlan.domain.PgReservePlan; import com.sun.org.apache.xml.internal.security.utils.Base64; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileOutputStream; import java.util.List; /** * Created by yxw on 2017/11/8. */ @Service public class PgReservePlanManager extends HibernateEntityDao<PgReservePlan> { public String saveFiles(List<MultipartFile> files,String fileType){ String [] fileNames = new String[files.size()]; String [] fileBuffers = new String[files.size()]; try { for (int i = 0; i < files.size(); i++) { fileNames[i] = files.get(i).getOriginalFilename(); byte[] fis = files.get(i).getBytes(); fileBuffers[i] = new String(Base64.encode(fis, Base64.BASE64DEFAULTLENGTH)); } HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String strDirPath = request.getSession().getServletContext().getRealPath(""); FileOutputStream fos = null; String image_toDir = strDirPath + "\\"+fileType;//存储路径 String imageName = ""; for (int i = 0; i < fileBuffers.length; i++) { if (fileBuffers[i] != null && fileNames[i] != null) { imageName += fileType+"/"+fileNames[i] + ","; byte[] buffer = new BASE64Decoder().decodeBuffer(fileBuffers[i]);//对android传过来的图片字符串进行解码 File destDir = new File(image_toDir); if (!destDir.exists()) destDir.mkdirs(); File imageFile = new File(destDir, fileNames[i]); fos = new FileOutputStream(imageFile);//保存图片 fos.write(buffer); fos.flush(); fos.close(); } } return imageName.substring(0,imageName.length()-1); } catch(Exception ex) { ex.printStackTrace(); return ""; } } }