2014-02-15 40 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

查看更新。我的錯。 –