1

背景:我必须支持IE7-9中的多个文件上传。我发现uploadify 和FileReader 都是基于flash 的。我们当前的文件上传允许用户选择文件、输入描述并选中一些复选框。这些数据同时发送到上传 servlet,servlet 获取文件数据、描述和复选框值,并将文件存储在服务器上,并在数据库中添加一个条目。

问题:uploadify 和 FileReader 都想将文件直接发送到服务器,我没有机会添加描述或设置任何标志。我现在已经使用过一些 FileReader 并且可以拦截文件而不是将其发送到服务器。我想做的是获取二进制数据并将其放入表单中,让用户添加描述,然后使用二进制文件数据提交表单。我已经准备好尝试在表单中添加一个隐藏字段,但数据似乎没有通过。

如果情况变得更糟,我想我可以上传文件,然后在提交表单时更新数据库,我不想这样做,但我认为这会奏效。有谁知道无论如何要将文件数据添加到表单中,然后让 servlet 将该数据识别为表单的一部分?

4

1 回答 1

1

您可以在 Uploadify 中将数据与上传一起传递,只需使用这样的formData属性(在此处找到):

<input name='someKey' type='text' value='Some Value'/>
<input type="file" name="file_upload" id="file_upload" />
<script>
$('#file_upload').uploadify({
    // Some options
    'method'   : 'post',
    'formData' : { 'someKey' : $('input[name=someKey]').val() }
});
</script>
于 2013-02-15T00:38:21.257 回答