2016-05-01 1 views
0

Итак, я отправляю сервер, в котором я работаю с набором данных в массиве json. Я использую stringify для этого. Когда я отправляю массив без изображения, он отправляется успешно. Тем не менее, сервер требует, чтобы я отправлял изображение в кодировке base64.Я правильно кодирую изображения в base64?

Так что я немного почитал и узнал, что могу использовать холст для кодирования моего изображения. Тем не менее, я получаю код внутренней внутренней ошибки 500. Я знаю, что строка отправляет кодировку base64, потому что у меня есть строка, напечатанная на консоли, прежде чем она будет отправлена. Одна вещь, которую я попытался сделать, это взять первые несколько наборов символов из строки, те, которые говорят что-то вроде «data: image png base64» или «data: image jpg base64». Я знаю, что правильно вынимаю это из строки при печати на консоль. Независимо от того, включаю я это или нет, сервер по-прежнему отправляет мне ошибку.

Я отправляю строку с ajax, кстати. Итак, вот код, который у меня есть, который меняет код на base64. Вот отрывок из этого кода:

$(function() 
{ 

    var file = document.getElementById("image_load").src; 
    var draw = document.getElementById("image_load"); 
    var canvas = document.getElementById("canvas"); 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(draw, 0, 0); 
    var picture= canvas.toDataURL(); 
    //picture = picture.replace(/^data:image\/(png|jpg);/, ""); 
    //picture = picture.replace(/^data:image\/(png|jpg);base64,/, ""); 
    //the first removes everything but base64 from the beggining of the string 



}); 



//500 (Internal Server Error) 

//data:image/png;base64, 

я могу опубликовать некоторые кодировки base64, если это полезно.

ответ

1

"500 Внутренний сервер Код ошибки" - ошибка на стороне сервера. Таким образом, вы должны искать проблему на своей стороне сервера. Сценарий приема, вероятно, ожидает ваших данных в другом формате json.

+0

Мне сказали закодировать его в base64, хотя вы все еще можете быть правы. – munchschair

+0

* Я отправляю сервер ... набор данных в json-массиве * - Итак, вы уверены, что вы отправляете параметры в точном формате, ожидаемом сервером? Как я уже упоминал, ошибка «500» является ошибкой на стороне сервера. Итак, вы ничего не можете сделать на интерфейсе, если не отправлять данные в ожидаемом формате. – Uzbekjon

+0

Хорошо спасибо. Я поговорю с сервером. Мне просто интересно, правильно ли я кодирую данные. – munchschair