图片上传适用于桌面,但不适用于移动相机

时间:2017-11-03 16:24:05

标签: php android mobile camera

正如标题所说,我的文件在桌面上正确上传。

我有一个Galaxy 6,然后我转到相同的页面并从我的相机拍照并上传,但它失败了。

这是输出: 在桌面上:

array(5) { ["name"]=> string(17) "1836x3264test.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpFRgSWW" ["error"]=> int(0) ["size"]=> int(856934) }

来自相机的手机:

array(5) { ["name"]=> string(14) "12412674172461randomnumbers.jpg" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) }

这是我的脚本来复制它:

<?php
    header("Access-Control-Allow-Origin: *"); //attempt to enable CORS
    if(isset($_POST['submit_image'])) {
        var_dump($_FILES['new_image']);
    }
?>

<form action="" method="post" enctype="multipart/form-data">
    <label for="new_image">Image: </label>
    <input type="file" name="new_image">
    <input type="submit" name="submit_image" value="Submit">
</form>

-

我尝试使用apache2.conf和php标头启用CORS,没有运气。

奇怪的是我可以从Documents上传已保存的Snapchat图片,但是如果我用相机拍照并尝试从Documents上传PHP文件中的文件,它似乎无法上传。输出与上面显示的相同。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您的代码在我的笔记本电脑上正常运行我的手机(android 5,zenfone 4s),但尝试这种语法:

<input type="file" name="new_image" accept="image/*">

有关详细信息,请参阅HTML Media Capture