2014-02-15 38 views
1

将formData发布到服务器端操作方法中有一些问题。由于AJAX调用不将文件发送到服务器,我有文件上传数据添加到FORMDATA手动像这样
这是不可能调用服务器方法ASP.NET WebForms中的FileUpload formData

[WebMethod] 
    public HttpPostedFileBase Name(HttpPostedFileBase file) 
    { 
     string ret = "test"; 
     return file; 
    } 

错误在客户端没有 我写的jQuery函数,需要使用ajax调用将表单数据发布到服务器。 这是我的脚本:

data.append(self.idFileInput, file[f]); 
    $.ajax({ 
     type: "POST", 
     url: "/AddContract.aspx/Name",    
     data: data, 
     dataType: 'json', 
     contentType: false, 
     processData: false, 
     success: function (data) { 

     } 
    }); 

任何提示,链接或代码示例将是有益的。
预先感谢您!

+0

字符串的作品,但我需要上传文件使用FormData JS – Vayas

回答

1

尝试使用contentType:'application/json;字符集= UTF-8' ,

$.ajax({ 
    type: "POST", 
    url: "AddContract.aspx/Name",    
    data: { field1: self.idFileInput, field2 : file[f]} , 
    dataType: 'json',//Remove this line this line is causing issue. 
    contentType: 'application/json; charset=utf-8', 
    processData: false, 
    success: function (data) { 

    } 
}); 
+0

我试过了,但不起作用 – Vayas

+0

好的,你也需要添加失败函数。 –

+0

在后端,您需要从Request [“feild1”]获得这些参数 –

0

在前面的回答我说一些愚蠢的约ASPX不支持WebMethod电话,这是他们做的。

现在真正的答案:

为了发表您需要使用ajaxSubmit方法的文件。请参阅this参考。

+0

这是一个问题吗? ajax请求使用aspx。 – Vayas

+0

Web服务本地 – Vayas

+0

查看更新。我的错。 –