spring和mybatis框架中实现文件上传功能
2017-10-20 10:49
681 查看
import java.io.File; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; ===========文件上传controller层=========== @Controller @RequestMapping("/file") public class FileController extends BaseController{ //文件上传方法 参数fileBean为文件实体 @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) @ResponseBody public FileBean uploadFile(FileBean fileBean HttpServletRequest request) throws Exception { CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession() .getServletContext()); commonsMultipartResolver.setDefaultEncoding("utf-8"); // 判断是否有文件上传 if (commonsMultipartResolver.isMultipart(request)) {//有文件上传 MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator iter = multiRequest.getFileNames(); while (iter.hasNext()) { MultipartFile imageFile = multiRequest.getFile(iter.next().toString());//(String) iter.next() //文件保存方法,其中参数imageFile为文件路径,fileBean文件实体 fileBean= fileService.addFile(request, imageFile, fileBean); } } return fileBean; } } ===========文件上传service层=========== FileBean addFile(HttpServletRequest request,MultipartFile imageFile, FileBean fileBean); ===========文件上传service实现层=========== @Override @Transactional public FileBean addFile(HttpServletRequest request, MultipartFile imageFile,FileBean fileBean) { try { String filePath = request.getSession().getServletContext().getRealPath("/static/fileAttach"); File file2 = new File(filePath); if (!file2.exists()) { file2.mkdirs(); } String name=imageFile.getOriginalFilename().substring(imageFile.getOriginalFilename().lastIndexOf(".")); String newName = BasicTool.getUUID()+name;// String path=filePath+File.separator+newName; File file1= new File(path); if(file1.exists()){ file1.delete(); } imageFile.transferTo(file1); fileBean.setF_name(imageFile.getOriginalFilename());//文件名称 fileBean.setF_filepath("/static/fileAttach/" + newName);////文件路径 fileBean.setId(BasicTool.getUUID());////文件id fileBean.setF_uploadtime(new Date());////文件上传时间 int addCount=0; addCount= fileWriteMapper.addFile(fileBean);//保存方法 } catch (Exception e) { e.printStackTrace(); } return fileBean; } ===========文件上传dao层=========== int addFile(FileBean fileBean); ===========文件上传dao实现层=========== insert into t_file id, name, filepath, uploadtime, #{id}, #{name}, #{filepath}, #{uploadtime},
相关文章推荐
- spring和mybatis框架中实现文件下载功能
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释
- Spring实现文件上传功能
- SSM(Spring+SpringMVC+Mybatis)框架文件上传
- springboot实现文件上传和下载功能
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释
- 使用html+ajax+formdata+SpringMVC实现单个文件,和多个文件上传功能
- SpringMVC + jquery.uploadify实现上传文件功能
- Ajax配合Spring实现文件上传功能代码
- 【SSM】:spring+springmvc+mybatis框架中的XML配置文件功能详细解释
- 菜鸟使用SSM框架搭建web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能
- 基于spring 3.0mvc 框架的文件上传实现
- Spring4+CKEditor4文件上传功能的实现
- spring 文件上传功能实现
- Spring MVC+Maven 轻松实现上传文件功能
- 使用SSM框架搭建Web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释