String photo = part.getSubmittedFileName(); String type = photo.substring(photo.lastIndexOf(".") + 1);
时间: 2024-03-18 22:43:33 浏览: 187
这段代码的作用是获取上传文件的文件名,并从文件名中提取文件类型。具体来说,它通过调用 `getSubmittedFileName()` 方法获取上传文件的文件名,然后通过调用 `lastIndexOf()` 方法找到文件名中最后一个点号(即文件类型的前缀),再通过调用 `substring()` 方法从文件名中截取出文件类型的后缀(不包括点号)。最终,该代码将文件类型的后缀存储在变量 `type` 中,以便后续使用。
相关问题
Part part=request.getPart("companyPic"); String fileName=part.getSubmittedFileName(); String newFileName=System.currentTimeMillis()+fileName.substring(fileName.lastIndexOf(".")); String filepath =getServletContext().getRealPath("/"); filepath=filepath.substring(0,filepath.indexOf(getServletContext().getServletContextName())); filepath=filepath+"upload/companyPic"; getServletContext().log("上传路径为:"+filepath) ; File f=new File(filepath); if(!f.exists()) f.mkdirs(); part.write(filepath+"/"+newFileName);如何更改上传地址
要更改上传地址,需要更改以下代码中的"upload/companyPic"部分:
filepath = getServletContext().getRealPath("/");
filepath = filepath.substring(0, filepath.indexOf(getServletContext().getServletContextName()));
filepath = filepath + "upload/companyPic";
您可以将“upload/companyPic”更改为新的上传路径,然后保存并重新运行代码即可。请确保新路径存在并具有正确的权限。
public static String upload(String errorPath, Part part, HttpServletRequest request, HttpServletResponse response) { String photo = ""; photo = part.getSubmittedFileName(); photo = UUID.randomUUID() + photo; String type = photo.substring(photo.lastIndexOf(".") + 1); if (!"jpeg".equalsIgnoreCase(type) && !"jpg".equalsIgnoreCase(type) && !"png".equalsIgnoreCase(type)) { request.setAttribute("msg", "上传的文件必须是图片类型!!!"); try { request.getRequestDispatcher(errorPath).forward(request, response); } catch (IOException | ServletException var10) { var10.printStackTrace(); } photo = ""; } String realPath = "D:/upload"; File file = new File(realPath); if (!file.exists()) { file.mkdirs(); } try { part.write(photo); } catch (IOException var9) { var9.printStackTrace(); } return photo; }
这段代码是一个图片上传的处理方法,其中的`part`参数是一个`javax.servlet.http.Part`类型的对象,代表了上传的文件。`part.write(photo)`这一行代码的作用是将上传的文件写入指定的文件路径中,其中`photo`是指定的文件路径。具体来说,这个方法将上传的文件写入到了`D:/upload`目录下,并以`UUID.randomUUID() + photo`的方式命名文件,保证了文件名的唯一性。如果上传的文件不是图片类型,该方法会将`photo`置为空字符串,并且返回上传失败的信息。
阅读全文