|
|
|||||
Регистрация: Jan 2010
Сообщений: 8
|
private function onUploadClick(e:MouseEvent): void { var urlRequest: URLRequest = new URLRequest(); if (uploadUrl == "") { debug("Upload URL is empty"); return; } else { debug(uploadUrl); } var mll:MultipartURLLoader = new MultipartURLLoader(); mll.addEventListener(Event.COMPLETE, onUploadComplete); var imageLoader: Loader = new Loader(); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e: Event): void { debug('done'); var source: Bitmap = Bitmap(imageLoader.content); debug("\ndone1\n"); var jpgEncoder:JPEGEncoder = new JPEGEncoder(); debug("\ndone2\n"); jpgStream = jpgEncoder.encode(source.bitmapData); var l:Loader = new Loader(); l.loadBytes(jpgStream); addChild(l); debug("\ndone3\n"); try { debug("upl\n"); mll.addFile(jpgStream, 'file.jpg', 'photo','image/jpeg'); mll.load(uploadUrl); debug('yaaahooo'); showLoader(); } catch (error:Error) { debug("Upload error"); return; } }); try { imageLoader.load(new URLRequest("http://icevenom.200u.com/174.jpg"),new LoaderContext(true)); } catch (error:Error) { debug("load error"); return; } } выдает Upload error |
|
|||||
Здравствуйте.
Подскажите пожалуйста пример на ас2. (Именно конвертации изображения в битмап массив и отправки его на серв) Я так понял нужно изображение загнать в витмап массив и отправить в пост запросе на уплоад сервер???
__________________
return this... |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
Ясно...
Добавлено через 15 часов 59 минут Запускайте эту функцию по кнопке и все будет гуд. Добавлено через 17 часов 2 минуты Цитата:
Последний раз редактировалось tandem; 11.02.2010 в 13:32. |
|
|||||
Регистрация: Jan 2010
Адрес: Кривой Рог
Сообщений: 117
|
Разобрался как делать загрузку одного изображения в альбом. Но мне нужно сделать, чтобы отправлялись 2 штуки за раз. Т. е. есть 2 кнопки, по нажатию на каждую из которых подгружается изображение с компа в флешку и ещё кнопка для сохранения. Выложу куски своего кода, может, кто поймёт. По приведенным выше примерам до меня не дошло(
public static var FILE_FILTER: Array = ["Images (*.jpg, *.jpeg, *.png)", "*.jpg;*.JPG;*.jpeg;*.JPEG;*.png;*.PNG"]; private function Setup():void { addLb1.addEventListener(MouseEvent.CLICK, onBrowseClick); //мои кнопки addLb2.addEventListener(MouseEvent.CLICK, onBrowseClick); upLb.addEventListener(MouseEvent.CLICK, onUploadClick); } private function onBrowseClick(e: MouseEvent): void { file.browse([new FileFilter(FILE_FILTER[0], FILE_FILTER[1])]); if (gi==0) { //получаю адрес только один раз var sig=MD5.hash(viewer_id+'aid='+album+'api_id='+api_id+'method=photos.getUploadServer'+'v=2.0'+skey); var request:URLRequest = new URLRequest(api_url+"?api_id="+api_id+"&aid="+album+"&v=2.0&method=photos.getUploadServer"+"&sig="+sig); var tloader:URLLoader = new URLLoader(); tloader.load(request); tloader.addEventListener(Event.COMPLETE, function(e:Event) { var r:XML = new XML(e.target.data); Img.test.appendText(r); upUrl=r.upload_url[0]; gi++; }); } } private function onFileSelected(e:Event): void { if (file.size == 0) { test.appendText("File size is zero bytes"); return; } file.addEventListener(Event.COMPLETE, onFileLoaded); file.load(); } private function onFileLoaded(e: Event): void { file.removeEventListener(Event.COMPLETE, onFileLoaded); var data: ByteArray = ByteArray(e.target.data); var imgLoader:Loader = new Loader(); imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded); imgLoader.loadBytes(data, new LoaderContext(false)); } public function onImageLoaded(e: Event): void { var source: Bitmap = new Bitmap(e.target.content); resizedImage = ImageHelper.resize(source, 100, 100); source.bitmapData.dispose(); createM.upLb.visible = true; imagePreview = new Sprite(); imagePreview.addChild(resizedImage); imagePreview.x = 10; imagePreview.y = 10; addChildAt(imagePreview,1); //добавляю рисунок в флешку logoAdded=true; createM.addLb.visible=true; } private function onUploadClick(e:Event) { var urlRequest: URLRequest = new URLRequest(); urlRequest.url = upUrl; urlRequest.method = URLRequestMethod.POST; urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache')); file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete); file.upload(urlRequest, 'file1'); }//onUploadClick //сохранялка private function onUploadComplete(e: DataEvent): void { file.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete1); Img.test.appendText("Upload complete"); Img.test.appendText(' Data: ' + e.data); var data: Object = JSON.decode(e.data); var sig=MD5.hash(viewer_id+'aid='+album+'api_id='+api_id+'hash='+data.hash+'method=photos.save'+'photos_list='+data.photos_list+'server='+data.server+'v=2.0'+skey); var request:URLRequest = new URLRequest(api_url+"?api_id="+api_id+"&aid="+album+"&hash="+data.hash+"&photos_list="+data.photos_list+"&server="+data.server+"&v=2.0&method=photos.save"+"&sig="+sig); var tloader:URLLoader = new URLLoader(); tloader.load(request); tloader.addEventListener(Event.COMPLETE, function(e:Event) { response = new XML(e.target.data); test.appendText(response); }); } теперь пытаюсь менять строку в таком виде оно сохраняет одну из двух фоток, последнюю. если поменять на 'file1-file2' - возвращает пустой photos_list со всеми вытекающими. не могу понять, как мне это правильно организовать. Прошу о помощи |
|
|||||
Регистрация: Apr 2010
Сообщений: 1
|
Здравствуйте,
У меня такая же проблема как и у тов. Ice_Venom. Цитата:
Но никакой ошибки не происходит, но и никакие дальнейшие обработчики события не вызываются. А конкретно multiPartLoader.addEventListener(Event.COMPLETE, onUploadComplete); И соответственно на стену тоже ничего не постится. Помогите разобраться пожалуйста. |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
поставьте дебаг-плеер, увидите ошибку
|
|
|||||
Регистрация: Dec 2009
Сообщений: 1
|
Загрузка фоток в Вконтакт
подскажите как загрузить фото в интернет, например на сайт одноклассники. почему то загрузка не происходит. если можно, то пошаговые действия что нужно делать. заранее благодарен.
|
|
|||||
Регистрация: Apr 2007
Адрес: Новосибирск
Сообщений: 98
|
Совсем не понимаю: на стену загрузить получается - а в альбом нет, пустой фото_лист.
package dataSaves { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.MovieClip; import flash.events.Event; import flash.events.EventDispatcher; import flash.media.Video; import flash.net.FileReference; import flash.net.URLVariables; import flash.utils.ByteArray; import mx.graphics.codec.JPEGEncoder; public class SaveFromCameraToJPG extends EventDispatcher { protected var bitmapData:BitmapData; protected var video:MovieClip; protected var i:Number=1; protected var fileRef:FileReference; protected var encoder:JPEGEncoder; protected var ba:ByteArray; protected var upload_url:String; public var fileVariables:URLVariables; public var smth:String; public function SaveFromCameraToJPG() { fileRef = new FileReference(); encoder = new JPEGEncoder(); } public function takeSnapshot (vid:MovieClip):void { video=vid; bitmapData=new BitmapData(640,480); bitmapData.draw(video); ba = encoder.encode(bitmapData); } public function saveImageToFile():void { fileRef.save(ba,"funnyPhoto"+i+".jpg"); i++; } public function saveImageToServer(_upload_url:String):void { var mll:MultipartURLLoader = new MultipartURLLoader(); mll.addEventListener(Event.COMPLETE, onUploadCompleteThroughAlarm); mll.addFile(ba, "photo.jpg","photo"); mll.load(_upload_url); } private function onUploadCompleteThroughAlarm(event:Event):void { smth=event.currentTarget.loader.data as String; event.currentTarget.removeEventListener(event.type, arguments.callee); savePhotos(parseServerAck(event.currentTarget.loader.data as String)); } private static function parseServerAck(serverAck:String):* { var result:* = new Object; for each(var pair:String in serverAck.split(/\s*[{},]\s*/)) { var tmp:Array = pair.split(/\s*[:"]\s*/); if ( (tmp[1] == "server") || (tmp[1] == "photo") || (tmp[1] == "photos_list") || (tmp[1] == "aid") || (tmp[1] == "hash")) { result[tmp[1]] = tmp[4]; } } return result; } private function savePhotos(serverAck:*):void { var variables:URLVariables = new URLVariables; for(var key:String in serverAck) { variables[key] = serverAck[key]; } fileVariables=variables; dispatchEvent(new Event("fileUploaded")); } } } |
|
|||||
Регистрация: May 2011
Сообщений: 1
|
"file1.jpg" - здесь любое название можно указывать?
|
Часовой пояс GMT +4, время: 03:59. |
|
« Предыдущая тема | Следующая тема » |
|
|