如何在<;中上载多个文件;输入倍数>;使用HtmlunitJava

如何在<;中上载多个文件;输入倍数>;使用HtmlunitJava,java,file-upload,htmlunit,Java,File Upload,Htmlunit,我花了一整天的时间搜索如何用HTML标记和Java中的HtmlUnit上传更多文件,但我还没有找到答案。 有人能帮忙吗?我不能修改网页,因为它们不是我的 我目前正在使用: HtmlFileInput#setValueAttribute(path); HtmlFileInput#setContentType(contenType); 非常感谢你 好的。HtmlUnit 2.1.13中似乎不存在此功能,因此打开了功能请求票证: 无论如何,我找到了一种方法,可以实现类似的行为。这是: public

我花了一整天的时间搜索如何用HTML
标记和Java中的HtmlUnit上传更多文件,但我还没有找到答案。
有人能帮忙吗?我不能修改网页,因为它们不是我的

我目前正在使用:

HtmlFileInput#setValueAttribute(path);
HtmlFileInput#setContentType(contenType);

非常感谢你

好的。HtmlUnit 2.1.13中似乎不存在此功能,因此打开了功能请求票证:

无论如何,我找到了一种方法,可以实现类似的行为。这是:

public static HtmlFileInput insertFileInputWithValue(String name, String value, 
    String contentType, HtmlPage page, DomElement parent) {
  // Necessary, otherwise HtmlUnit doesn't generate HtmlFileInput, but HtmlTextInput by default
  AttributesImpl ai = new AttributesImpl();
  ai.addAttribute(null, null, "type", null, "file");
  ai.addAttribute(null, null, "name", null, name);

  HtmlFileInput input = (HtmlFileInput) HTMLParser.getFactory("input")
    .createElementNS(page, null, "input", ai, true);
  input.setValueAttribute(value);
  input.setContentType(contentType);
  parent.appendChild(input);

  return input;
}
这段代码将一个新的html输入文件注入到您指定的任何父级中,很可能是一个表单。
即使HtmlUnit不允许使用
,也可以通过在表单中注入更多同名的HtmlFileInput元素来实现相同的行为,在表单中,您可以将要上载的文件设置为值

我希望这能有所帮助。

为什么要2-1?(现在只是一个,但仍然是。)我错过了什么吗?