次のような単純な html フォームからファイルを FTP でアップロードするために、サーブレットに Java コードを記述しようとしています。
<form name="fileUpload" method="post" action="StuffService" enctype="multipart/form-data">
<input type="file" name="nomeFile" />
<input type="submit" value="GO"/>
</form>
このフォームは JSP 内にあり、doPost() メソッドによって (@MultipartConfig を使用して) Servlet 3.0 StuffService にバインドされます。
ライブラリcommon-io-2.4とcommon-net-3.2を使用して、サーバーにファイルをアップロードする FTPClient オブジェクトを作成します。
FTPClient client = new FTPClient();
...
client.storeFile(...);
storeFile メソッドは、ファイル名と InputStream を必要とします。
ファイルが HTML フォームからのものである場合、InputStream を正しく取得するにはどうすればよいですか?
私はもう試した:
Part filePart = request.getPart("nomeFile");
String fileName = getFilename(filePart);
File f = new File(fileName);
FileInputStream input = new FileInputStream(f);
client.storeFile(fileName, input);
しかし、何もありません。 java.io.FileNotFoundExceptionを取得しました。ファイルのフル パスが必要なのかもしれませんが、セキュリティ html が原因で html フォームからは不可能であると読みました。
これどうやってするの?
ありがとう、私の悪い英語をごめんなさい!さよなら