------------------------------ 你的时间不多了,抓紧做你想做的事情
一、常用方法
1) 将图片进行 base46编码, 然后存储到数据库中
2) 对图片进行二进制编码,存储到数据库、
3) 将图片存储到文件系统中,数据库存储文件的地址
结论: 数据库多么的宝贵,一般不直接将图片存储到数据库中,都是存储到其他地方,然后获取这个地址,使用第三种方法(这个地址就是图片在服务其上面的地址)
二、 使用MutiPartFile 类实现文件上传
(1) 逻辑框图
(2)前端页面:
1 <body> 2 <h2>文件上传实例</h2> 3 4 5 <form action="fileUpload.html" method="post" enctype="multipart/form-data"> 6 选择文件:<input type="file" name="file"> 7 <input type="submit" value="提交"> 8 </form> 9</body>
注意: 上面的cnctype 必须为 multipart/form-data
(3)后端处理
@RequestMapping("fileUpload") public String fileUpload(@RequestParam("file") MultipartFile file) { // 判断文件是否为空 if (!file.isEmpty()) { try { // 创建文件保存路径 String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/" + file.getOriginalFilename(); // 转存文件 file.transferTo(new File(filePath)); } catch (Exception e) { e.printStackTrace(); } } // 重定向 return "redirect:/list.html"; }
三、MutipartFile 类的常用方法
interface MultipartFile { public byte[] getBytes(); public String getContentType(); // 获取文件的类型 public java.io.InputStream getInputStream(); public String getName(); public String getOriginalFilename(); // 获取文件的名字 public long getSize(); // 获取文件大小 public boolean isEmpty(); // 判断文件是否为空 public void transferTo(java.io.File dest); // 将文件转存到其他的地方 }