gpt4 book ai didi

java - 图像上传在 localhost 上工作正常,但在 jsp 中的服务器中工作不正常

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:00 25 4
gpt4 key购买 nike

使用 request.getRealPath() 在本地主机上正常上传图像,但我们在服务器中使用的图像上传却不是

工作,因为服务器找不到指定的路径..图像无法显示..我该如何解决这个问题。??

这是图像上传的代码:

           filePath =request.getRealPath("") + "\\img\\";                 
System.out.println(filePath);
String contentType = request.getContentType();

if ((contentType.indexOf("multipart/form-data") >= 0))
{
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List fileItems = upload.parseRequest(request);
// message= fileItems.get(2).toString();



Iterator i = fileItems.iterator();

while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
if(fi.isFormField())
{
message=fi.getString();
System.out.println("message is : "+message);
bean.setEmp_id(Integer.parseInt(message));
}
if (!fi.isFormField()) {
String fieldName = fi.getFieldName();
System.out.println("field name"+fieldName);
fileName = fi.getName();




if (fileName.lastIndexOf("\\") >= 0) {
file = new File(filePath
+ fileName.substring(fileName
.lastIndexOf("\\")));

} else {
file = new File(filePath
+ fileName.substring(fileName
.lastIndexOf("\\") + 1));

}
fi.write(file);

最佳答案

getRealPath() 给出指向调用参数中指定的文件的绝对路径(在文件系统上)。它以操作系统特定的格式返回路径。

阅读request#getRealPath其文档。

此外,建议使用 servletRequest.getSession().getServletContext().getRealPath("/") 而不是 servletRequest.getRealPath("/") 作为它已被弃用。

所以最好的方法是自己为服务器提供上传路径,因为特定于操作系统的方法值可能无法访问返回的路径(权限)。

希望这有帮助!!

关于java - 图像上传在 localhost 上工作正常,但在 jsp 中的服务器中工作不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com