springmvc提供了一个接口来来接收上传的文件: MultipartFile
下面是一个文件上传的演示:
注意i本次我们将上传的图片保存到本地,如果服务部署在服务器上,则保存在服务器
的响应的磁盘上。当然可以将文件也保存在fastDfs文件服务器上,看个人喜好
1)给服务器配置 路径和本地磁盘路径的映射
启动并访问图片
2)在springmvc.xml中配置文件上传解析器
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置文件上传大小 -->
<property name="maxUploadSize" value="5000000" />
</bean>
3)修改jsp页面,使其能够提交 file
设置表单可以进行文件上传
4) 编写controller处理上传的文件
@RequestMapping(value = "/updateitem.action") public String updateitem(QueryVo vo,MultipartFile pictureFile) throws Exception, IOException{ //保存图片到D: upload //设置图片名称,不能重复,使用uuid String fileName = UUID.randomUUID().toString(); //获取文件的扩展名 String extension= FilenameUtils.getExtension(pictureFile.getOriginalFilename()); //保存文件到本地 pictureFile.transferTo(new File("D:\upload\"+fileName+"."+extension)); vo.getItems().setPic(fileName+"."+extension); itemService.updateItemsById(vo.getItems()); return "redirect:/itemEdit.action?id="+vo.getItems().getId(); }
5)结果