SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)

 

第一步:首先要在我们的springMVC.xml文件中添加上传文件解析器

     
        
            
            
            
            
    

 

 

第二步:然后我们要在WebRoot目录下创建一个“upload”文件夹

 

 

这个名字你们可以随便取,调用的时候就调用你取的这个名字就行了

 

SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客)_第1张图片

第三步:上传图片的jsp页面中的代码:

                                                     
上传图片:
    

 

显示图片的jsp页面中的代码:


	

 

第四步:上传图片的Controller类的代码(这里面的“upload”就是我们创建的文件夹的名称):

 

@Controller
public class ImgController {
	@Autowired
	private ImgService imgService;
	@RequestMapping("/addImg")
	public String addImg(HttpServletRequest request, Img img,
			@RequestParam(value="file")MultipartFile pictureFile) throws Exception {
                //这个RequestParam(value="file")的是我们在jsp的name=“file”
		// 使用UUID给图片重命名,并去掉四个“-”
		String name = UUID.randomUUID().toString().replaceAll("-", "");
		// 获取文件的扩展名
		String ext = FilenameUtils.getExtension(pictureFile
				.getOriginalFilename());
		// 设置图片上传路径
		String url = request.getSession().getServletContext()
				.getRealPath("/upload");
		System.out.println(url);
		// 以绝对路径保存重名命后的图片
		pictureFile.transferTo(new File(url + "/" + name + "." + ext));
		// 把图片存储路径保存到数据库
		img.setImg("upload/" + name + "." + ext);
		imgService.addImg(img);
		// 重定向到查询所有用户的Controller,测试图片回显
		return "redirect:/imgList";
	}  

 

查询图片的Controller类的代码:

@RequestMapping(value = "/imgList")
	public String imgList(Model model) throws Exception {
		List imgList= imgService.imgList();
		model.addAttribute("imgList", imgList);
		return "allImg";
	}

 

如果想看多图片上传,可以去看一下我下篇博客

如有不懂可以评论,我会回复的。

 

 

你可能感兴趣的:(SSM框架实现图片上传并查询数据库中的图片(多图片上传请看下篇博客))