[英]Uploading an image from localStorage to PHP
First of all, sorry for my poor english. 首先,对不起我的英语不好。 Im having the following problem:
我有以下问题:
I do have the following code to store Dropped images on localStorage: 我确实有以下代码将Dropped图像存储在localStorage上:
localStorage.setItem("dropped_images", JSON.stringify( array_dropped_images ) );
This will result in something like the following: 这将导致如下所示:
localStorage.getItem('dropped_images'):
[
{"id":0,"data":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACgAAAAWgCAIAAAAdYo2IAAAAGXRFW…nu8vxl30QxDphgBbok9vXa1iT2dWMDBGQHDCyNMfCUO83/A/VzaPVq31uqAAAAAElFTkSuQmCC"},
{"id":1,"data":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACgAAAAWgCAIAAAAdYo2IAAAAGXRFW…m4r4R9wH1l7K6H+6pa8cB9IzySnR2RydqmlhaTBqfp8hP/HzkuuKqP/f8rAAAAAElFTkSuQmCC"}
]
I just cant comprehend how can i send it to PHP and get it via $_FILES. 我只是无法理解如何将其发送到PHP并通过$ _FILES获得它。 Can you help me?
你能帮助我吗? Thanks!
谢谢!
------------------- SOLVED ----------------------------------------------------------------------------------------------------------- - - - - - - - - - - 解决了 - - - - - - - - - - - - - - - -------------------------------------------------- ---------------------------
Based on the best answer ( @sam-battat ), could solve this, editing some part of the function: 根据最佳答案(@ sam-battat),可以解决此问题,并编辑部分功能:
function base64_to_img($base64_string, $output_file) {
$data = explode(',', $base64_string);
/**
* Remove the raw text
*/
$ext = str_replace("data:image/", '', $data[0]);
$ext = str_replace(";base64", '', $ext);
/**
* Create the file with the correct extension
*/
$ifp = fopen($output_file . "." . $ext, "wb");
/**
* Create file based on base64
*/
fwrite($ifp, base64_decode($data[1]));
fclose($ifp);
/**
* return file path
*/
return $output_file;
}
Thank you very much! 非常感谢你!
You could post the string (base64 string) and convert it later to a file: 您可以发布字符串(base64字符串),然后将其转换为文件:
$img = $_POST['img_data'];
$file = base64_to_img($img, '/path/to/file.png');
function base64_to_img($base64_string, $output_file) {
$ifp = fopen($output_file, "wb");
$data = explode(',', $base64_string);
fwrite($ifp, base64_decode($data[1]));
fclose($ifp);
return $output_file;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.