Я создаю мобильный веб-сайт, который позволяет пользователям загружать фотографии со своей камеры.
Я могу получить изображения из альбомов пользователей, и я могу получить изображения, когда пользователь делает снимок в iOS6 на iPhone4 и Android 4, но когда пользователь делает снимок с помощью iPhone5 (также с помощью iOS6), я ничего не получаю. Я могу получить изображение из фотоальбомов пользователей, но не при фотографировании.
вот код и jsfiddle ниже
$('input#file_api').change(function(evt){
var image = evt.target.files[0];
var reader = new FileReader();
reader.onerror = (function(){alert('error reading file')});
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var tempImg = new Image();
tempImg.src = reader.result;
tempImg.onload = function(){
var canvas = document.createElement('canvas');
canvas.width=tempImg.width;
canvas.height=tempImg.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(tempImg,0,0);
$('body').append(canvas);
})(image);
reader.readAsDataURL(image);
У меня есть пример здесь http://jsfiddle.net/8DJUy/4/
Если вы используете средство выбора файлов для получения фотографии, она добавит фотографию на страницу. Если вы сделаете снимок на iPhone5, он ничего не добавит. Но в то же время и не выдает ошибок.
Любые предложения о том, как обойти это?
Не могу понять, в чем проблема с фотографией.
Причина, по которой я беру такие фотографии, заключается в том, что размеры файлов довольно велики при загрузке непосредственно с телефона, а вариант использования не требует изображений с высоким разрешением, поэтому я использую холст для изменения размера изображения перед его загрузкой. .