更新:问题最终出在 Flash 组件本身。它没有正确编译元素中的多个值。我通知了开发人员,他们实施了一种解决方法。Commons FileUpload 确实支持每个接受的答案的多个值。
我有一个表格enctype="multipart/form-data",其中有一个
<select name="XX" multiple="multiple">
以及允许用户选择多个文件的 Flash 上传组件。使用 Apache Commons FileUpload 处理 POST 时,我通过以下方式检测选择字段
item.isFormField() == true
并继续通过以下方式提取详细信息
// Process a regular form field
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
}
我遇到的问题是item.getString(); 仅返回选择字段中的第一个选定值;无论我选择多少物品,我都只得到第一个物品。
同样,当我使用标准 servlet 方法进行参数提取时,即。
final String[] values = request.getParameterValues("XX");
values 是空的,我认为这是因为表单是多部分编码的。
如何从我的多选字段中检索这些多个选定的值?
这个(未回答的)问题也由另一位作者在 Sun 论坛上提出。