java怎么将上传的文件保存到服务器和数据库

2025-10-25 08:26:29

1、记录一下,上传图片和显示图片的代码,前端页面:<form action="${pageContext.request.contextPath}/UploadWeiXiuServlet"                enctype="multipart/form-data" method="post"><input type="file" name="file" multiple="multiple" align="center">                <input type="submit" value="提交" /></form>。

java怎么将上传的文件保存到服务器和数据库

2、后台servlet:protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        log.info("上传维修图片附件的servlet");        request.setCharacterEncoding("utf-8");          response.setContentType("text/html;charset=utf-8");                String path = request.getSession().getServletContext().getRealPath(                  "/upload/weixiuimg");                File filemulu =new File(path);          //如果文件夹不存在则创建          if  (!filemulu .exists())            {                System.out.println("//不存在");            filemulu .mkdir();          } else        {            System.out.println("//目录存在");        }          log.info("路径:"+path);        Map<String, String> map = Upload.upload(request, 1024 * 1024 * 10, path);          String file= map.get("file"); // 名称         // String newFile = map.get("newFile");// 地址          MuJUService mjService = new MuJUService();        //System.out.println(map.get("type"));        boolean flag=mjService.uploadImg("upload/weixiuimg/"+file,map.get("wx_id"));//调用方法,存到数据库        HttpSession session=request.getSession();        if (flag) {            log.info("图片上传成功");            session.setAttribute("flag", "上传成功");        }else {            log.info("图片上传失败");            session.setAttribute("flag", "上传失败");        }            

java怎么将上传的文件保存到服务器和数据库

3、upload类:public static Map<String, String> upload(HttpServletRequest request,            int maxSize, String path) {        //以map形式保存数据 key对应保存的是获取界面上的name名称 value保存的是获取界面上的name对应的值        Map<String, String> map = new HashMap<String, String>();        Part part = null;        try {            MultipartParser mrequest = new MultipartParser(request, maxSize);            mrequest.setEncoding("utf-8");            //遍历所有的part组            while ((part = mrequest.readNextPart()) != null) {                if (part.isFile()) {  //判断是否是文件                    FilePart filepart = (FilePart) part;//转化成文件组                    String fileName = filepart.getFileName()。

java怎么将上传的文件保存到服务器和数据库

4、//得到文件名                    if (fileName != null && fileName.length() > 0) {                        // 取得扩展名                        String fileExtName = fileName.substring(                                fileName.lastIndexOf(".") + 1).toLowerCase();                        // 只上传图片  //判断图片上传的格式是否符合 后缀名是否有效                        if (fileExtName.equalsIgnoreCase("jpeg")                                || fileExtName.equalsIgnoreCase("png")||                                fileExtName.equalsIgnoreCase("jpg")                                || fileExtName.equalsIgnoreCase("gif")                                || fileExtName.equalsIgnoreCase("ico")                                || fileExtName.equalsIgnoreCase("bmp")                                || fileExtName.equalsIgnoreCase("flv")                                || fileExtName.equalsIgnoreCase("mp4")                                || fileExtName.equalsIgnoreCase("mp3")) {                            /*String newFileName = new Date().getTime() + "."+ fileExtName;//重新改文件名  文件名+扩展名 */                                                        String newFileName =new Date().getTime() +fileName;//不改图片名字                            String newPath = path + "/" + newFileName。

java怎么将上传的文件保存到服务器和数据库

5、 //文件处理文件上传的路径                            File newFile = new File(newPath);                            filepart.writeTo(newFile);  //将文件真正写入到对应的文件夹中                            //filepart.getName()  得到 request 要接收的参数的名字                            map.put(filepart.getName(), newFileName);//把文件信息保存到map中                            map.put("newFile", newFile.toString());                        } else {                            map.put("geshi", "geshi");                            continue;                        }// 说明上传的不是图片                    } else {                      map.put("yes","yes");                        continue; // 说明没有选择上传图片                    }                } else if (part.isParam()) {  //判断是否是参数                    ParamPart paramPart = (ParamPart) part;                    map.put(paramPart.getName(), paramPart.getStringValue());                }            }        } catch (IOException e) {            e.printStackTrace();        }        return map;    }

java怎么将上传的文件保存到服务器和数据库

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢