-1
Vaadin Upload Componentからファイルを取得する方法を知りたいと思います。ここにはVaadin Website の例がありますが、OutputStreams以外のものを保存する方法は含まれていません。 ヘルプ!アップロードしたファイルを保存するには
Vaadin Upload Componentからファイルを取得する方法を知りたいと思います。ここにはVaadin Website の例がありますが、OutputStreams以外のものを保存する方法は含まれていません。 ヘルプ!アップロードしたファイルを保存するには
Vaadinでファイルアップロードを受信するには、receiveUpload(filename, mimeType)
メソッドを提供するReceiver
メソッドを実装し、情報を受け取る必要があります。これを行うための最も簡単なコードは(Vaadin 7 docsから例にとる)ことになります。それに
class FileUploader implements Receiver {
private File file;
private String BASE_PATH="C:\";
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(BASE_PATH + 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
}
};
は、Uploader
はC:\
にあなたのファイルを書き込みます。アップロードが正常に完了した後に何かをしたい場合は、SucceeddedListener
またはFailedListener
を実装できます。上記の例を考えてみると、結果は(SucceededListener
)となります。
class FileUploader implements Receiver {
//receiveUpload implementation
public void uploadSucceeded(SucceededEvent event) {
//Do some cool stuff here with the file
}
}
と同じように、あなたにはreceiveUploadというメソッドがあります。このメソッドでは、ファイル名とそのMIMEタイプを取ります。次に、そのファイル名を持つ 'File'を使って' OutputStream' [(java 7 doc)](https://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html)を作成する必要がありますそれを返す...もちろん、 'File'はあなたがアップロードを保存したい場所になければなりません。 – Shirkam
@Shirkamいくつかのコードはありますか?場所はC:\ –
ですね。なぜ、stackoverflowはあなたのコストのかからないプログラマーコミュニティです... –