Spring MVC框架,页面通过form提交的:
Jsp代码:enctype="multipart/form-data"(必须加)
<form action=”” method=”” role="form" class="form-inline" id="host" enctype="multipart/form-data">
<input type="file" class="file-pos" name="doc" id="doc" placeholder="132.77.94.235" data-mask="99-99-9999">
</form>
首先定义一个文件流的实体UploadDemoVo:这里的doc命名与jsp页面input的name命名一样
package com.hcycom.itm.preentity;
import org.springframework.web.multipart.MultipartFile;
public class UploadDemoVo {
/**
* 文件
*/
private MultipartFile doc;
@Override
public String toString() {
return "UploadDemoVo [doc=" + doc + "]";
}
/* public boolean validateFile() throws ServiceException{ if(!ConstantUtil.fileTypeImg.contains(this.getDoc().getContentType())){
throw new ServiceException("文件类型只能是jpeg、png!");
}
if(this.getDoc().getSize() > 1000 * 100){
throw new ServiceException("文件最大不能超过100KB!");
}
return true;
}*/
public MultipartFile getDoc() {
return doc;
}
public void setDoc(MultipartFile doc) {
this.doc = doc;
}
}
Controller代码:UploadDemoVo doc(从页面取文件流)
@RequestMapping(value="/hosts/createHost" , method = RequestMethod.POST)
public String createHost(HttpServletRequest request,PreHostObject hostObject,UploadDemoVo doc) throws IllegalStateException, IOException {
System.out.println("name:"+hostObject.getName());
//图片添加
if(doc.getDoc().getSize()!=0){
String path = request.getServletContext().getRealPath("/flatlab/img/hostphoto");
File tempFile = new File(path,String.valueOf(hostObject.getName())+".jpg");
if (!tempFile.getParentFile().exists()) {
System.out.println("文件夹不存在!!!创建文件夹");
tempFile.getParentFile().mkdir();
}
if (!tempFile.exists()) {
System.out.println("图片不存在,创建图片!!!");
tempFile.createNewFile();
}
doc.getDoc().transferTo(tempFile);
}
try {
if (HostsService.createHost(hostObject)) {
return "redirect:/hosts/"+hostObject.getGroupids()+"";
}else{
}
} finally{
}
return "500";
}