前段部分两个必须:method必须是 post,enctype必须是 multipart/form-data
<form action="upload.do" method="post" enctype="multipart/form-data">
<input type="file" name="photo">
<br>
<input type="text" name="productName">
<br>
<button type="submit">提交</button>
</form>
spring配置:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10000000" />
</bean>
MultipartFile类型的参数接收文件上传内容
public String add(Limitbuy limitbuy, HttpServletRequest request) throws IllegalStateException, IOException {
String newFileName = "";
String fileName = limitbuy.getMultipartFile().getOriginalFilename();
if (fileName.length() > 0) {
String realpath = request.getServletContext().getRealPath("/WEB-INF/images/self"); //在项目里,图片保存的路径
String fileType = fileName.substring(fileName.lastIndexOf("."));
newFileName = MyUtil.getStringID() + fileType;//生成随机图片的名字前缀
limitbuy.setPicture(newFileName);
File dirctory = new File(realpath);
if (!dirctory.exists()) {
dirctory.mkdirs();
}
File targetFile = new File(realpath, newFileName);
try {
limitbuy.getMultipartFile().transferTo(targetFile);
} catch (Exception var11) {
var11.printStackTrace();
}
}
limitservice.add(limitbuy);
return "admin/toadd";
}
private String picture;
private MultipartFile multipartFile;
然后图片的实体类,picture存图片名称, multipartFile负责在控制层接收图片