如何使用 ajaxFileUpload jQuery 插件传递数据

Posted

技术标签:

【中文标题】如何使用 ajaxFileUpload jQuery 插件传递数据【英文标题】:How to pass data using ajaxFileUpload jQuery Plugin 【发布时间】:2014-10-01 16:13:21 【问题描述】:

我正在使用ajaxFileUpload jQuery 插件将图像上传到 ASP.NET 服务器。

我能够成功上传图像,但我也想将数据传递到服务器。我无法这样做。当我尝试传递 JSON 数据时,我在浏览器的控制台中收到以下错误:

jQuery.handleError is not a function

javascript 代码:

 $.ajaxFileUpload
(
    
        url: 'http://localhost:23999/administration.asmx/UploadedFile',
        secureuri: false,
        fileElementId: 'ImageUpload',
        dataType: 'json',
        data: "test",
        success: function (data, status) 
            if (typeof (data.error) != 'undefined') 
                if (data.error != '') 
                    alert(data.error);
                 else 
                    alert(data.msg);
                
            
        ,
        error: function (data, status, e) 
            alert(e);
        
    
)

WebService C#:

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string UploadedFile()
    
        var a = HttpContext.Current.Request;
        HttpPostedFile file = HttpContext.Current.Request.Files[0];

        byte[] buffer;
        Stream fileStream = file.InputStream;
        ............

如何将 JSON 数据传递到服务器?谢谢。

【问题讨论】:

【参考方案1】:

在此链接上:http://www.jchilders.com/AjaxFileUpload/demo/ 它说有一个选项可以用来传递数据:

additionalData :您希望与 请求。

您可以尝试以这种方式发送数据:

var 数据 = "varId" : varValue ;

【讨论】:

脚本不同,源链接失效 谢谢。如果没有“数据”选项,您的代码可以正常工作,对吗?您能否也显示 ajaxfileupload.js 代码?用你提供的链接找不到它。 是的,没有它也可以。当我传递数据值时,我可以看到它在插件中读取它,但从那时起出现了问题,我无法弄清楚。 由于某种原因它现在可以处理数据了:) -- 你知道如何在 .NET 中访问它吗? 我需要更多信息来帮助你。你能显示插件代码吗?以及您在服务器端使用的代码?当您说“我可以看到它在插件中读取它”时,您究竟在哪里读取它?

以上是关于如何使用 ajaxFileUpload jQuery 插件传递数据的主要内容,如果未能解决你的问题,请参考以下文章

ajaxFileUpload异步上传图片,服务器文件叫多,如何删除啊~~

如何让ajaxfileupload.js支持IE9,IE10,并可以传递多个参数

jQuery插件ajaxfileupload.js源码与使用

JQuery的ajaxFileUpload的使用

jsp中使用jquery的ajaxfileupload插件怎么实现异步上传

Jquery+ajaxfileupload上传文件