Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.01.2010, 17:35
Ice_VeNOm вне форума Посмотреть профиль Отправить личное сообщение для Ice_VeNOm Найти все сообщения от Ice_VeNOm
  № 11  
Ответить с цитированием
Ice_VeNOm

Регистрация: Jan 2010
Сообщений: 8
Код AS3:
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

Старый 10.02.2010, 17:39
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 12  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Здравствуйте.
Подскажите пожалуйста пример на ас2. (Именно конвертации изображения в битмап массив и отправки его на серв)
Я так понял нужно изображение загнать в витмап массив и отправить в пост запросе на уплоад сервер???
__________________
return this...

Старый 10.02.2010, 20:47
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 13  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Подскажите пожалуйста пример на ас2.
На AS1/2 примера нет и быть не может того, чего вы хотите.

Старый 10.02.2010, 20:53
tandem вне форума Посмотреть профиль Отправить личное сообщение для tandem Посетить домашнюю страницу tandem Найти все сообщения от tandem
  № 14  
Ответить с цитированием
tandem
 
Аватар для tandem

Регистрация: Jun 2005
Адрес: Russia
Сообщений: 238
Отправить сообщение для tandem с помощью ICQ
Ясно...

Добавлено через 15 часов 59 минут
Цитата:
Сообщение от Ice_VeNOm Посмотреть сообщение
URL правильный, все проходит отлично до mll.load(_upload_url);
Запускайте эту функцию по кнопке и все будет гуд.

Добавлено через 17 часов 2 минуты
Цитата:
Сообщение от xpymbl4 Посмотреть сообщение
Кстати, может быть это офтоп, но все же так и не смог добиться хорошего качества картинки (в ByteArray я загоняю MovieClip). Качество ужасает.
Примечание:
в новых плейерах, аплоад картинок сработает только в обработчике действия пользователя, иначе исключение, но в старых плеерах может сработать
Код AS3:
try {
    uploadFileData();
}
http://vkontakte.ru/app1763729 - в этом приложении событие загрузки срабатывает таким образом: при нажатии на одну кнопку происходит запрос на получение сервера, а потом сразу же туда идет аплод и постинг на тсену соответственно. Как так?


Последний раз редактировалось tandem; 11.02.2010 в 13:32.
Старый 10.03.2010, 21:19
vasya87 вне форума Посмотреть профиль Отправить личное сообщение для vasya87 Найти все сообщения от vasya87
  № 15  
Ответить с цитированием
vasya87
 
Аватар для vasya87

Регистрация: Jan 2010
Адрес: Кривой Рог
Сообщений: 117
Разобрался как делать загрузку одного изображения в альбом. Но мне нужно сделать, чтобы отправлялись 2 штуки за раз. Т. е. есть 2 кнопки, по нажатию на каждую из которых подгружается изображение с компа в флешку и ещё кнопка для сохранения. Выложу куски своего кода, может, кто поймёт. По приведенным выше примерам до меня не дошло(
Код AS3:
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);									
	});
}
по сравнению с загрузчиком одной фоки добавил вторую кнопку, которая работает с теми же функциями. адрес для загрузки получаю один раз (я так понял, этого достаточно).
теперь пытаюсь менять строку
Код AS3:
file.upload(urlRequest, 'file1');
в таком виде оно сохраняет одну из двух фоток, последнюю.
если поменять на 'file1-file2' - возвращает пустой photos_list со всеми вытекающими.
не могу понять, как мне это правильно организовать. Прошу о помощи

Старый 08.04.2010, 15:54
Mustafin_Marat вне форума Посмотреть профиль Отправить личное сообщение для Mustafin_Marat Найти все сообщения от Mustafin_Marat
  № 16  
Ответить с цитированием
Mustafin_Marat

Регистрация: Apr 2010
Сообщений: 1
Здравствуйте,

У меня такая же проблема как и у тов. Ice_Venom.

Цитата:
Сообщение от tandem Посмотреть сообщение

Добавлено через 15 часов 59 минут


Запускайте эту функцию по кнопке и все будет гуд.
Да, я вынес метод load в обработчик кнопки.
Но никакой ошибки не происходит, но и никакие дальнейшие обработчики события не вызываются. А конкретно multiPartLoader.addEventListener(Event.COMPLETE, onUploadComplete);

И соответственно на стену тоже ничего не постится.
Помогите разобраться пожалуйста.

Старый 08.04.2010, 16:17
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 17  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
поставьте дебаг-плеер, увидите ошибку

Старый 09.04.2010, 16:50
nikitenko.p вне форума Посмотреть профиль Отправить личное сообщение для nikitenko.p Найти все сообщения от nikitenko.p
  № 18  
Ответить с цитированием
nikitenko.p

Регистрация: Dec 2009
Сообщений: 1
По умолчанию Загрузка фоток в Вконтакт

подскажите как загрузить фото в интернет, например на сайт одноклассники. почему то загрузка не происходит. если можно, то пошаговые действия что нужно делать. заранее благодарен.

Старый 24.08.2010, 17:12
O.K. вне форума Посмотреть профиль Отправить личное сообщение для O.K. Найти все сообщения от O.K.
  № 19  
Ответить с цитированием
O.K.

Регистрация: Apr 2007
Адрес: Новосибирск
Сообщений: 98
Совсем не понимаю: на стену загрузить получается - а в альбом нет, пустой фото_лист.

Код AS3:
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"));
		}
 
	}
 
}

Старый 05.05.2011, 09:13
Равшан вне форума Посмотреть профиль Отправить личное сообщение для Равшан Найти все сообщения от Равшан
  № 20  
Ответить с цитированием
Равшан

Регистрация: May 2011
Сообщений: 1
Код AS3:
mll.addFile(byteArray, "file1.jpg", "photo", 'image/jpg');
"file1.jpg" - здесь любое название можно указывать?

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.