我在UIWebview中有一个输入类型文件。当用户从iPad/iPhone中选择一个文件时,我需要将该文件保存到远程服务器。我尝试将文件加密到base64,然后使用jquery,将其发送到解码文件的API,然后将其保存到服务器文件夹。但是,当我加密文件并调用ajax时,我的ajax成功函数返回'Undefined‘可能是因为我发送的数据(base64字符串)的大小太大了。
$.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); }
});发布于 2016-02-03 11:44:19
是的,确实如此。可能是在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请求将其发送到服务器。
https://stackoverflow.com/questions/35042776
复制相似问题