Я пытаюсь сделать загрузку изображения, где сообщения JavaScript DataURI изображения через AJAX и PHP получают его для декодирования в изображение.Загрузка изображения javascript через datauri и php base64 decode
Проблема в том, что все работает нормально, за исключением того, что конечный продукт не является файлом изображения.
Обратите внимание на следующий примерный код.
JavaScript:
dataString='encodedimg='+e.target.result.match(/,(.*)$/)[1]+'&type='+type;
$.ajax({
url: 'uploadhandler_ajax.php',
type: 'POST',
data: dataString,
success: function(data){
//print success message
});
PHP:
$encodedimg = $_POST['encodedimg'];
file_put_contents('asdf.png', base64_decode($encodedimg));
Там нет никаких проблем с $_POST['encodedimg']
как она производит правильное изображение с помощью онлайн конвертер base64. Поэтому я предполагаю, что существует неправильное использование с file_put_contents()
или base64_decode()
.
Цените помощь!
Спасибо за этого решения, но ваше имя файла не гарантируется уникальным 'md5 (mt_rand (1,123123123)) '- я рекомендую' uniqid() 'вместо этого. – tubes