?? fileuploadcontroller.java
字號:
package com.pure.web.spring;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.util.FileCopyUtils;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.support.ByteArrayMultipartFileEditor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.pure.domain.FileUpload;
import com.pure.domain.Image;
import com.pure.util.ActiveUploadFile;
import com.pure.util.PureUtil;
public class FileUploadController extends SimpleFormController {
protected final Log logger = LogFactory.getLog(getClass());
private String uploadDir;// 上傳文件路徑
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
HttpSession session = request.getSession();
String realPath = session.getServletContext().getRealPath("/");
FileUpload bean = (FileUpload) command;
byte[] bytes = bean.getFile();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");
String sep = System.getProperty("file.separator");
String uploadDir = realPath+this.getUploadDir();
File dirPath = new File(uploadDir);
if (!dirPath.exists()) {
dirPath.mkdirs();
}
//原文件名
String fileName = file.getOriginalFilename();
//新文件名
String nFileName = PureUtil.getUploadFileName()+PureUtil.getUploadFileEx(fileName);
File uploadedFile = new File(uploadDir+sep+ nFileName);
FileCopyUtils.copy(bytes, uploadedFile);
ActiveUploadFile activeUploadFile = ActiveUploadFile.getInstance();
Image image = new Image();
image.setName(fileName);
image.setNewname(nFileName);
image.setSize(new Long(uploadedFile.length()));
activeUploadFile.addUploadFile(image);
session.setAttribute("files",activeUploadFile.getUploadFiles());
Map uploadFileList = new HashMap();
uploadFileList.put("file",file.getOriginalFilename());
return new ModelAndView(getSuccessView(),uploadFileList);
}
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws ServletException {
binder.registerCustomEditor(byte[].class,new ByteArrayMultipartFileEditor());
}
public void setUploadDir(String uploadDir) {
this.uploadDir = uploadDir;
}
public String getUploadDir() {
return this.uploadDir;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -