Я использую Flex 4.5 в приложении Mobile air для Android.
Итак, используя Camera / Camera roll (http://www.unitedmindset.com/jonbcampos/2010/09/29/air-for-android-camera-and-camera-roll/) Я хочу сделать простую загрузку, используя amfphp
Примечание. Так как вы получаете изображения на устройствах, я не могу использовать filreferenceпотому что он хочет, чтобы вы получили изображения, используя «просмотр», который не может быть сделано на Android или IOS
Мой план, после того, как я выберу изображение или сделать снимок с помощью камеры, в случае, если я могу получить местныйURL к изображению, которое было сделано следующим образом:
file:///mnt/sdcard/DCIM/Camera/IMG_20110531_205113.jpg
Я помещаю это в imageURL
var
(я предполагаю, что я должен превратить его в массив байтов, чтобыперенесите его, я не совсем уверен, что я впервые делаю что-то вроде этого)
Вот как я беру это изображение, превращаю его в байтовый массив и использую amfphp для отправки загрузки на сервер:
protected function upload_btn_clickHandler(event:MouseEvent):void
{
var request:URLRequest = new URLRequest(imageURL);
var urlLoader:URLLoader = new URLLoader(request);
urlLoader.addEventListener(Event.COMPLETE, onURLLoaderComplete);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(request);
}
private function onURLLoaderComplete(event:Event):void
{
var byteArray:ByteArray;
byteArray = event.target.data;
//send upload using amfphp!
gw.call("MyClass.uploadFile", uploadImageRes, byteArray);
}
Вот мой php-код:
function uploadFile($fileData) {
$myFilePath = '../../../assets/userphotos/imageone';
preg_replace("/[^0-9]+/","_",microtime()).'_'.$fileData["filename"];
file_put_contents($myFilePath, $fileData["filedata"]);
//eventually add the mysql query to add the image path to mysql server
return true;
}
Но я получаю сообщение об ошибке NetConnection.Call.BadVersion.
Это первый раз, когда я пытаюсь что-токак это, так что я даже не совсем уверен, если я собираюсь об этом правильно,Все примеры, которые я нахожу в Интернете, касаются использования класса fileReference, но, похоже, для этого мне нужно использовать метод "browse", и я работаю в мобильном приложении, которое использует камеру и рулон камеры для захвата изображений с устройства, и я неуверен, как включить это в класс fileref.Я подумал, что могу просто получить байтовый массив и отправить его php самому, и все должно быть в порядке.
Моя конечная цель - загрузить изображение в папку на сервере, и ясделайте обновление mysql, чтобы указать местоположение файла, я пока не очень беспокоюсь о части mysql, я уверен, что эта часть будет действительно легкой, и я могу понять это.Я просто хотел получить некоторую помощь с фактической загрузкой изображения в каталог.спасибо!