你好,
我需要从 <input type="file">
发送图像元素到 servlet。
目前使用ajax
var files;
$("input[type='file']").on("change",function(e) {
files = e.target.files;
$("#Submit-Button").prop({"disabled":false});
});
$("#Submit-Button").on("click", function(){
var data = new FormData();
$.each(files, function(key, value){
data.append(key, value);
});
$.ajax({
url: "UploadServlet",
type : "POST",
data: data,
cache: false,
dataType: JSON,
processData : false,
contentType: false,
success: function(data, textStatus, jqXHR){
//SUCCESS
},
error: function(jqXHR, textStatus, errorThrown){
//ERROR
}
});
})
});
这正在工作,我的 servlet 正在接收该文件。
但是我想向 servlet 发送一些附加信息。
我尝试过(在js ajax方法中)
data : {data: data, userID : userID, username: username},
和(在 java servlet 中)
String Filename = request.getParameter("uid") + request.getParameter("username")+".png";
Collection<Part> Parts = request.getParts();
这显然不起作用。
现在我想不出有什么可以解决我的问题。
最佳答案
添加文件的方式与添加任何其他数据的方式相同。
...
data.append('userID', userID);
data.append('username', username);
...
$.ajax({
...
data: data,
...
});
关于java - 使用 AJAX 将图像和附加信息发送到 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366384/