-1

我正在尝试创建一个需要从用户提供的文件中读取一些数据的插件。

我已经在速度模板的表单中尝试了一个普通的文件输入 HTML 元素,并发布到一个动作 Java 类(我认为这很有意义?)但似乎没有传递任何文件。

我正在使用 Apache ServletFileUpload 类以及其他一些应该可以完全满足我需要的类。我似乎按照我看过的教程做所有事情,但它不起作用。但是,当我删除 enc 类型时它确实有效,但仅适用于非文件输入,例如文本、密码等。

所以我得出的结论是 Jira 导致了这些问题。

任何人以前做过这样的事情或知道这是否可能?

“接收”代码:

DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(fileItemFactory);
FileItemIterator iterator = upload.getItemIterator(request);

List items = upload.parseRequest(request);
Iterator it = items.iterator();

while (it.hasNext()) {
    FileItem item = (FileItem) it.next();
    System.out.println("Got file");
}
4

2 回答 2

0

你不能同时使用

FileItemIterator iterator = upload.getItemIterator(request);

List items = upload.parseRequest(request);

第一个是流式 API,第二个是基本 API。两者都消耗内容。对于给定的请求,您必须选择一个 API 并仅使用该 API。

于 2012-06-16T00:43:44.983 回答
0

最终没有使用 HTML 文件上传元素。相反,我使用了一个文本框,用户必须在其中输入文件的公共路径,然后我使用标准的 Java File 类。

于 2012-06-18T11:01:18.393 回答