java - 使用 AJAX 将图像和附加信息发送到 Servlet

标签 java javascript jquery ajax servlets

你好,

我需要从 <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,
...
    });

FormData.append

关于java - 使用 AJAX 将图像和附加信息发送到 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366384/

相关文章:

java - Tomcat 用于开发和测试,Websphere 用于生产

java - 将当前选定的测试类作为参数的 Eclipse Junit 运行配置?

javascript - 在 php 和 javascript 中清理字符串

javascript - Kendo 网格 - 如何在添加/编辑子行(详细信息网格)时访问父行模型

javascript - jQuery .scrollTop 无法正确滚动

java - Tomcat - 单击 Web 服务获取 "The requested resource is not available"

java - 如何在不阻塞的情况下在 Java 中调用 notify()?

javascript - 删除自动发布后,模板将循环访问用户集合

javascript - 将 onclick 更改图像附加到没有 id 标签的 varing img 数量

php - 如何在javascript中找到div的大小?