2017-12-27 351 views
0

我感兴趣的是有一个按钮,它从用户的计算机上获取图片并将其上载到我的服务器上。Vaadin上传功能

我设法解决服务器上传部分,但我在处理用户计算机的路径时遇到困难。 Vaadin Upload不提供完整路径,但我希望它是动态的。看文档,他们使用一些临时位置,但我不知道如何实现。

public OutputStream receiveUpload(String filename, 
             String mimeType) { 
     // Create upload stream 
     FileOutputStream fos = null; // Stream to write to 
     try { 
      // Open the file for writing. 
      file = new File("/tmp/uploads/" + filename); 
      fos = new FileOutputStream(file); 
     } catch (final java.io.FileNotFoundException e) { 
      new Notification("Could not open file<br/>", 
          e.getMessage(), 
          Notification.Type.ERROR_MESSAGE) 
       .show(Page.getCurrent()); 
      return null; 
     } 
     return fos; // Return the output stream to write to 
    } 

我期待的是,当文件选择器关闭,我得到某种形式的文件路径或处理的,所以我可以把它放在我的服务器上。

回答

1

filename参数中,您将获得上传文件的名称。 但是文件的路径不会发送到服务器,这是Web应用程序/ Web浏览器的限制之一。

随着您使用的代码,您将在服务器上的tmp文件夹中拥有上传文件的副本。

无法通过Web浏览器直接访问客户端计算机上的文件。

+0

解决了它,它试图上传到/ tmp/uploads但没有权限 –