Я создал веб-приложение, которое позволяет загружать фотографию из браузера. При использовании этого в iOS 6 фотографии, похоже, заканчиваются в альбомной ориентации, даже если они были сделаны в портрете при загрузке. Должен ли я делать проверки на стороне сервера, чтобы получить изображение в правильном направлении или есть какие-то специфические атрибуты iOS для iOS, которые я могу применить к форме загрузки, чтобы исправить это?
Обновление
В соответствии с запросом, здесь код, который я написал для этого. Предварительные требования заключаются в том, что я использую PHP и библиотеку WideImage (это фрагмент из более крупного script, чтобы вы могли использовать что-то другое для обработки изображений, если хотите).
// Load Image Into Wide Image
$image=WideImage::load(IMG_UPLOAD_DIR.$result['name']);
$exif=exif_read_data(IMG_UPLOAD_DIR.$result['name']);
$orientation=$exif['Orientation'];
$result['orientation']=$orientation;
// Use Wide Image To Resize Images
$full=$image->resize(IMG_FULL_H,IMG_FULL_H);
$thumb=$image->resize(IMG_THUMB_W,IMG_THUMB_H);
switch($orientation){
case 2:
$full->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
case 3:
$full->rotate(-180)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->rotate(-180)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
case 4:
$full->rotate(180)->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->rotate(180)->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
case 5:
$full->rotate(90)->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->rotate(90)->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
case 6:
$full->rotate(90)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->rotate(90)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
case 7:
$full->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
case 8:
$full->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
default:
$full->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
$thumb->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
break;
}