【问题标题】:Sending image + Data ajax post to ashx handler将图像 + 数据 ajax 帖子发送到 ashx 处理程序
【发布时间】:2014-06-10 06:30:53
【问题描述】:

如何将 Image + Some json object Data 发送到 ashx 处理程序? 可以在 jquery ajax post 中使用吗??

像这样:

         var fileUpload = $("#image").get(0);
            var files = fileUpload.files;

            var imag = new FormData();
            for (var i = 0; i < files.length; i++) {
                imag.append(files[i].name, files[i]);
            }



            $.ajax({
                type: "POST",
                url: "../Scripts/uploadify/UploadHandler.ashx",
                contentType: false,
                processData: false,
                data: "image=" + imag + "&Data=" + JSON.stringify({ objEnt: args }),
                success: function(){

                }

            });

我们可以这样做吗?

【问题讨论】:

  • 在将所有文件附加到您创建的 FormData 对象后,只需为您的 json 数据 imag.append('Data', JSON.stringify({ objEnt: args })) 再附加一次。然后将ajax请求的data:设置为imag
  • 但是 m8 在从 ashx 中的 context.request 读取时变得非常复杂
  • 它应该与您在此处尝试执行的操作没有任何不同。你尝试的方式是不可能的。您不能使用 jQuery 的 ajax 将查询字符串中的 FormData 对象作为数据发送。 FormData 必须是 data 参数中的唯一内容。从请求中读取数据与读取任何其他数据相同。
  • 好的,谢谢你的信息..我试试运气!!!
  • 我会添加这个问题的答案,然后我们可以关闭它。

标签: javascript jquery ajax ashx


【解决方案1】:

在将所有文件附加到您创建的 FormData 对象后,只需为您的 json 数据 imag.append('Data', JSON.stringify({ objEnt: args })) 再附加一次。然后将ajax请求的data:设置为imag

var fileUpload = $("#image").get(0);
var files = fileUpload.files;

var imag = new FormData();
for (var i = 0; i < files.length; i++) {
    imag.append(files[i].name, files[i]);
}

imag.append('Data', JSON.stringify({ objEnt: args }));


$.ajax({
    type: "POST",
    url: "../Scripts/uploadify/UploadHandler.ashx",
    contentType: false,
    processData: false,
    data: imag,
    success: function(){

    }

});

【讨论】:

  • 顺便说一句 @Adam 我可以从 ashx 返回一个字符串(文件名)到我的成功函数吗??
  • @user3640046 当然,只需将成功函数更改为success: function(fileName){,然后在上传完成后服务器端回显名称即可。
猜你喜欢
  • 2013-11-17
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
相关资源
最近更新 更多