Всем привет,
Нужно png-файл в виде 64-битной строки декодировать и отправить сабмитом формы
Делаю
var data = original_canvas.toDataURL(); // Источник данных fabrics js
alert("+++original_frnt_img_val::"+var_dump(data) ); // алер выводит +++original_frnt_img_val::data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACbAAAAbUCAYA ...
var decoded_data= data.replace(/data\:image\/png\;base64\,/g, "") // Убираем заголовок data:image/png;base64,
alert( "decoded_data::"+var_dump(decoded_data) ) // выводит decoded_data::iVBORw0KGgoAAAANSUhEUgAACbAAAAbUCAYAAAAkT...
var decoded_data= decode64(decoded_data) // декодируем
alert( "decoded_data::"+var_dump(decoded_data) ) // выводит http://imgur.com/QTM9o6q
alert( "ZZZ::"+var_dump( jQuery('#original_frnt_img_val').val() ) ) // Выводит ту же строку что и выше
var theForm = jQuery("#form_save_template_full_image");
theForm.submit(); // Сабмитим форму
Форма сабмититься и файл записывается на диск функцией file_put_contents без перекодировки и изменений но при попытке прочитать его получаю
Цитата
"Loading capture.png" failed
И открыв этот файл в текстовом редакторе я вижу принтскрин
Сравнивая этот файл с другими png-файлами в текстовом редакторе вижу что они не похожи
Изначально я отправлял 64-данные и на сервере делал перекодировку перед записью в файл:
$upload_front = file_put_contents( $capture_dest_filename , base64_decode( preg_replace("/data:image\/png;base64,/", '', $original_frnt_img_val ) ) );
Это работало но из-за того, что данные в 64-битной кодировке втрое болше занимают места - возникла проблема с большими файлами...
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
mstdmstd
Всем привет,
Нужно png-файл в виде 64-битной строки декодировать и отправить сабмитом формы
Делаю
var data = original_canvas.toDataURL(); // Источник данных fabrics js alert("+++original_frnt_img_val::"+var_dump(data) ); // алер выводит +++original_frnt_img_val::data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACbAAAAbUCAYA ...
var decoded_data= data.replace(/data\:image\/png\;base64\,/g, "") // Убираем заголовок data:image/png;base64, alert( "decoded_data::"+var_dump(decoded_data) ) // выводит decoded_data::iVBORw0KGgoAAAANSUhEUgAACbAAAAbUCAYAAAAkT... var decoded_data= decode64(decoded_data) // декодируем alert( "decoded_data::"+var_dump(decoded_data) ) // выводит http://imgur.com/QTM9o6q alert( "ZZZ::"+var_dump( jQuery('#original_frnt_img_val').val() ) ) // Выводит ту же строку что и выше var theForm = jQuery("#form_save_template_full_image"); theForm.submit(); // Сабмитим форму
Форма сабмититься и файл записывается на диск функцией file_put_contents без перекодировки и изменений но при попытке прочитать его получаю
И открыв этот файл в текстовом редакторе я вижу принтскрин
Сравнивая этот файл с другими png-файлами в текстовом редакторе вижу что они не похожи
Функция decode64 взята отсюда http://ntt.cc/2008/01/19/base64-encoder-decoder-with-javascript.html
Я пробовал использовать atob вместо decode64 и тот же результат
Изначально я отправлял 64-данные и на сервере делал перекодировку перед записью в файл:
$upload_front = file_put_contents( $capture_dest_filename , base64_decode( preg_replace("/data:image\/png;base64,/", '', $original_frnt_img_val ) ) );
Это работало но из-за того, что данные в 64-битной кодировке втрое болше занимают места - возникла проблема с большими файлами...
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.