上传图片到mysql_java web 上传图片到项目目录并将文件路径放到数据库

这是一个使用Java Web实现的图片上传功能,将图片保存到项目目录下,并将图片的相对路径存储到MySQL数据库中。通过DvdDao和PhotoDao类处理数据库操作,利用Apache Commons FileUpload组件处理文件上传。当上传的图片格式正确时,保存文件到指定目录,并更新DVD信息到数据库。
摘要由CSDN通过智能技术生成

1 packagecom.tang.control;2 importjava.io.IOException;3 importjava.io.PrintWriter;4 importjava.sql.SQLException;5 importjava.util.ArrayList;6 importjava.util.List;7

8 importjavax.servlet.ServletContext;9 importjavax.servlet.ServletException;10 importjavax.servlet.annotation.WebServlet;11 importjavax.servlet.http.HttpServlet;12 importjavax.servlet.http.HttpServletRequest;13 importjavax.servlet.http.HttpServletResponse;14 importjavax.servlet.http.HttpSession;15

16 importorg.apache.commons.fileupload.FileItem;17

18 importcom.tang.common.Page;19 importcom.tang.dao.DvdDao;20 importcom.tang.dao.PhotoDao;21 importcom.tang.dao.UserDao;22 importcom.tang.models.DVDInfoData;23

24 /**

25 *@authorMr Tang26 *27 */

28 @WebServlet("/ProductServlet")29 public class ProductServlet extendsHttpServlet {30 publicProductServlet() {31 super();32 }33 protected voiddoGet(HttpServletRequest request,34 HttpServletResponse response) throwsServletException, IOException {35 String method = request.getParameter("method");36 try{37 switch(method) {38 case "add":39 //转接给相对应的函数去处理相关数据。

40 addDVDinfo(request, response);41 break;42 } catch(SQLException e) {43 //TODO Auto-generated catch block

44 e.printStackTrace();45 }46 }47 /**

48 *

49 * 这个函数实现了增加dvd的功能50 *

51 *@throwsSQLException52 *@throwsServletException53 */

54 private static void addDVDinfo(HttpServletRequest request, HttpServletResponse response) throwsIOException, SQLException, ServletException {55 List list=new ArrayList();

56 String filename=PhotoDao.getPhotoNewName();

57 ServletContext servletContext=null;

58 servletContext=request.getSession().getServletContext();

59 //数据库中存储格式:/webTest/imgs/***.jpg

60 //第一步:获取页面上上传的图片资源

61 List items=PhotoDao.getRequsetFileItems(request,servletContext);

62 boolean isLoadToSQL=false;

63 for(FileItem item:items) {

64 if(!item.isFormField()){

65 //判断后缀名是否是jpg

66 if(PhotoDao.isGif(item)) {

67 isLoadToSQL=PhotoDao.saveFile(item,filename);

68 }else {

69 System.out.println("后缀格式有误,保存文件失败");

70 }

71 }else{72 /*获取表单中的非文件值73 表单中的空间name值74 System.out.println("name值: "+item.getFieldName());75 该name值空间中的value值76 System.out.println(item.getString("UTF-8"));*/

77 list.add(item.getString("UTF-8"));78 }79 }80 String dvdNum=DvdDao.returnNextNum();81 //存在数据库里面的照片路径是在项目里的相对路径

82 String finalPhotoName= request.getContextPath()+"/imgs/"+filename;83 int bol=DvdDao.addDVD(dvdNum, "《"+list.get(0)+"》",list.get(1),list.get(2),finalPhotoName);84 if(list.get(4).equals("FULL")) {85 if(bol>0) {86 PrintWriter out=response.getWriter();87 out.flush();88 out.print("

92 out.print("'\");");93 out.close();94 }else{95 PrintWriter out=response.getWriter();96 out.flush();97 out.print("");101 out.close();102 }103 }104 else if(list.get(4).equals("EMPTY")){105 PrintWriter out=response.getWriter();106 out.flush();107 out.print("");110 out.close();111 }112 }113 protected void doPost(HttpServletRequest request,HttpServletResponse response) throwsServletException, IOException {114 doGet(request, response);115 }116 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值