2

次のような単純な 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.4common-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 フォームからは不可能であると読みました。

これどうやってするの?

ありがとう、私の悪い英語をごめんなさい!さよなら

4

0 に答える 0