我正在尝试在我的 servlet 中编写 java 代码,以通过 FTP 上传来自简单 html 表单的文件,如下所示:
<form name="fileUpload" method="post" action="StuffService" enctype="multipart/form-data">
<input type="file" name="nomeFile" />
<input type="submit" value="GO"/>
</form>
此表单位于 JSP 中,并通过 doPost() 方法与 Servlet 3.0 StuffService(使用 @MultipartConfig)绑定。
使用库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 的东西。
我怎样才能做到这一点?
谢谢你,对不起我的英语不好!再见