2017-09-05 117 views
-1

我能够上传局部而不是图像能够远程上载(即,另一机)。这里是代码..上传图像,以远程位置的文件夹中的java

@WebServlet(“/ UploadServ” )

公共类UploadServlet延伸的HttpServlet {

private static final String UPLOAD_DIR1 = "\\\\ip-address\\C$\\upload\\"; 
public UploadServlet() { 
    super(); 
} 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    doPost(request, response); 
} 

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    boolean isMultipart = ServletFileUpload.isMultipartContent(request); 
    if (!isMultipart) { 
    } else { 
     try { 
      List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()) 
        .parseRequest(new ServletRequestContext(request)); 

      for (FileItem item : multiparts) { 
       if (!item.isFormField()) { 
        String name = new File(item.getName()).getName(); 
        item.write(new File(UPLOAD_DIR1 + name)); 
       } 
      } 
      // File uploaded successfully 
      System.out.println("File uploaded successfully"); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
      System.out.println("File uploaded failed.."); 
     } 
    }} 
    request.getRequestDispatcher("response.jsp").forward(request, response); 
} 
+0

你需要告诉我们你有什么问题。 –

+0

如何将图像从一台机器上传/保存到其他机器?如果我编写UPLOAD_DIR1 =“C:\\ upload \\”,那么它的工作正常。但我只是想在不在同一台机器上的另一台机器上传图像。 – Kumar

+0

您发布的代码是服务器端代码。如果你想要一台服务器转移到另一台服务器上,那么考虑使用ftp –

回答

0

为了创建相对于所述web内容根( “/”)正确的文件夹的URL,我用下面的代码

final String uploadDir = request.getRealPath("/ip-address/C$/upload"); 

然后,只需创建一个新的文件对象

File file = new File(uploadDir, fileName); 

注意getRealPath()现在已经过时,但应该仍然工作。根据这个答案(Recommended way to save uploaded files in a servlet application)有更好的方法来指定一个上传文件夹,但我还没有尝试过任何这些方法。

相关问题