收到上传的文件后,我想返回一个代表上传文件的文件,我覆盖了receiveUpload方法:
/**
* Invoked when a new upload arrives.
*
* @param filename
* the desired filename of the upload, usually as specified
* by the client.
* @param mimeType
* the MIME type of the uploaded file.
* @return Stream to which the uploaded file should be written.
*/
public OutputStream receiveUpload(String filename, String mimeType);`
那么返回new File
对象的最佳方法是什么?
答案 0 :(得分:2)
这取决于你想做什么。方法receiveUpload()
是Receiver
接口的一部分。您需要提供Vaadin可用于将上传数据写入的outputStream
。
您可能并不总是想要写入文件。也许你想写一个数据库或只是写一个字节数组,以便进一步处理数据。
假设您要写入文件,您只需在磁盘上创建一个文件并将FileOutputStream
返回到此文件。
要创建临时文件,您可以使用:
File file = File.createTempFile(fileName, ".tmp");
return new FileOutputStream(file);
但是如果你想写一个特定的位置,你可以直接提供填充文件路径,例如:
File file = new File("/path/to/my/file/storage/" + filename);
return new FileOutputStream(file);
有关详细信息,请查看Book of Vaadin。