我有一个关于使用Servlet和Ajax调用将多个文件上传到服务器的问题。在互联网上我的问题也有类似的问题,但我无法解决我的问题。如果问题很简单或非常明显,我提前道歉。 我在表单HTML标记中有两个输入文件。用户可以使用文件系统浏览文件,然后点击按钮上传它们。 这是HTML代码
<form id="uploadFile">
<input id="file1" class="files" type="file" name="file"></input>
<input id="file2" class="files" type="file" ></input>
<input id="processData" class="btn btn-primary" type="submit" name="submit" value="Process Data Sources" />
</form>
这是我的js代码
//form Submit
$("form").submit(function(evt){
evt.preventDefault();
var formData = new FormData($(this)[0]);// I guess this value has to change to provide me with information of two files, but I am not sure how this can be done.
$.ajax({
url: 'UploadServlet',
type: 'POST',
data: formData,
async: true,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
console.log(response);
}
});
return false;
});
ajax代码此刻上传了一个文件,但我想上传两个使用2个输入文件选择的文件。我不知道怎么做。
我从这里读到的猜测是,我需要在submit函数中修改formData变量。 如果有人能给我提示,我真的很感激
答案 0 :(得分:-1)
您的一个文件输入缺少名称属性
<form id="uploadFile">
<input id="file1" class="files" type="file" name="file">
<input id="file2" class="files" type="file" name="anotherfile">
<input id="processData" class="btn btn-primary" type="submit" name="submit" value="Process Data Sources" />
</form>