2016-01-27 138 views
1

我有一個輸入類型文件放置在UIWebview中。當用戶從iPad/iPhone選擇文件時,我需要將文件保存到遠程服務器。我試圖加密文件到base64,然後使用jquery ajax,將它發送到API解碼文件,然後將其保存到服務器文件夾。但是當我加密文件並進行ajax調用時,我的ajax成功函數返回'Undefined',可能是因爲我發送的數據的大小(base64字符串)太大。從UIWebView將文件保存到服務器文件夾

$.ajax({ 
     type: 'POST', 
     contentType: 'application/json; charset=utf-8', 
     url: 'https://www.myserver.com/api/Controller/Method', 
     data: JSON.stringify({Filename: "base64 string" , Questionid: '28faf0fb-9d12-477c-ada5-2adc816063c7' , FileExt: "png" ,sid:'45bdd775-477d-4ca2-9d89-9724366aec36'}), 
     processData: false, 
     dataType: 'json', 
     success: function(response) { alert(response); }, 
     error: function(xhr, ajaxOptions, thrownError) {alert(xhr.responseText); } 
}); 
+0

不太可能。用10個字節做一個測試,看看它是否有效。 –

回答

0

是的。限制可能已經從web.config中的服務器端,看起來像這樣

<httpRuntime executionTimeout="3600" maxRequestLength="20480" requestValidationMode="2.0" maxQueryStringLength="2097151"/> <httpRuntime executionTimeout="3600" maxRequestLength="20480" requestValidationMode="2.0" maxQueryStringLength="2097151"/>

設置爲Base64可以是一個非常大的數據要發送,請嘗試使用字節數組。將圖像轉換爲字節數組並使用ajax POST請求將其發送到服務器。

相關問題