Как и в заголовке, мой файл загружается правильно, когда на рабочем столе.
У меня есть 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>
—
Я попытался включить CORS с заголовками apache2.conf и php, но не повезло.
Странно то, что я могу загрузить сохраненные изображения Snapchat из Документов, но если я сделаю снимок с помощью камеры и попытаюсь загрузить файл в сценарии PHP из Документов, он, похоже, не загружается. Тот же вывод, как показано выше.
Любая помощь приветствуется.
Ваш код работает как положено на моем ноутбуке & мой телефон (Android 5, Zenfone 4S), но попробуйте этот синтаксис:
<input type="file" name="new_image" accept="image/*">
Для получения дополнительной информации см. HTML Media Capture
Других решений пока нет …