2015-03-02 4 views
1

Я попытался передать данные холста как изображение, но когда изображение большое, оно не отправляет данные, поэтому я попытался отправить данные формы, но я застрял в получении кода. Codebehind получает как htmlinputelementобъект. Как я могу получить его? Может кому-то помочь.Отправить большие данные холста на сервер

Html:

var data = canvas.toDataURL("image/png"); 
    data = data.substr(data.indexOf(',') + 1).toString(); 
var dataInput = document.createElement("input"); 
    dataInput.setAttribute("name", "imgdata"); 
    dataInput.setAttribute("value", data); 
    dataInput.setAttribute("type", "hidden"); 
var myForm = document.createElement("form"); 
    myForm.appendChild(dataInput); 

Ajax:

$.ajax({ 
    url: "HTML5Camera.aspx/Upload", 
    type: "POST", 
    // data : $('form').serialize(), 
    data: "{ 'image': '" + data1 + "'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (data, status) { 
     alert('success') 
    } 
}); 

CodeBehind:

[WebMethod(EnableSession = true)] 
    public static string Upload(string image)  

    { 

    } 
+0

Похоже, вам нужно исправить ваш сервер принимает большие закачки? –

ответ

0

Попробуйте изменить предел запрос в web.config:

<system.web> 
    ... 
    <httpRuntime maxRequestLength="8192" ... /> 

Здесь пример 8 мб (... указывают другую информацию, которая может быть указана в файле/теге). Все файлы с кодировкой base-64 имеют увеличение на 33%, что необходимо учитывать при настройке максимального предела.

(Возможно, это была ошибка при копировании примера в сообщение, но data1 не определяется нигде, см. Метод ajax).

Update для полноты (из комментариев):

<system.web.extensions> 
    <scripting> 
    <webServices> 
     <jsonSerialization maxJsonLength="2147483647"/> 
    </webServices> 
    </scripting> 
</system.web.extensions> 
+0

«data1» была опечатка, когда я вставил код – user3067170

+1

В дополнение к предложению увеличения предела JSON сериализации также исправили проблему, как показано ниже – user3067170

+0

Код: System.Web.Extensions> user3067170

0

Heres код для увеличения JSon сериализации в web.config

Код:

<system.web.extensions> 
<scripting> 
<webServices> 
    <jsonSerialization maxJsonLength="2147483647"/> 
</webServices> 
</scripting> 
</system.web.extensions> 
Смежные вопросы