我正在尝试将图片从移动设备上传到服务器。我们正在使用 PhoneGap (Javascript) 构建,因此我们将其转换为字符串以便将其发送到服务器。我收到后遇到问题,将其转回可读的图像文件。简而言之,我需要将一个字符串和一个文件名发送给我,对其进行解码,将其转换为 .png,然后将其裁剪为圆形图像。
这就是我目前正在做的事情
if (isset($_POST['file']))
{
//Result variable
$result = false;
$pic = base64_decode($_POST['file']);
$filename = $_POST['filename'];
if (strlen($pic) > 9 )
{
$fh = fopen("/var/www/pics/events/".$filename, 'w') or die("can't open file");
fwrite($fh, $pic);
fclose($fh);
}
}
我想我可以让其余的代码工作,如果我能弄清楚我在这里做错了什么,导致它不能正确保存为图像文件?该文件正确上传,但它没有扩展名,当我在浏览器中指向它时,它看起来应该是一个图像文件,但从不显示图像。当我直接到它的位置时,我会得到那个带有彩色形状的小破图片图标。
我是否需要知道在此过程中发送的图像类型是什么?如何知道它是 .gif、.jpg/jpeg、.png 等...?
提前感谢您的帮助!
弥敦道