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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.06.2011, 12:15
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 1  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
По умолчанию Загрузка фото в альбом.

Что нужно поправить в коде?
Вылазит :
1 такая ошибка :C:\Users\Дима\Desktop\Main1.as, строка 39 1061: Обращение к возможно неопределенному методу hash через ссылку статического типа Class.
и 47 ошибок типа:C:\Users\Дима\Desktop\Main1.as, строка 39 1061: Обращение к возможно неопределенному методу hash через ссылку статического типа Class.


Код AS3:
package 
{
 
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.DataEvent;
	import flash.events.MouseEvent;
	import flash.net.FileFilter;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.display.Loader;
	import flash.net.URLRequestMethod;
	import flash.net.URLRequestHeader;
	import flash.display.Bitmap;
	import flash.system.LoaderContext;
	import flash.display.Sprite;
	import flash.utils.ByteArray;
	public class Main1 extends MovieClip
	{
 
 
		public function Main1()
		{
			trace("ок");
		}
		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);
			});
		}
 
	}
 
}

Старый 11.06.2011, 13:23
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 2  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
MD5 не тот. Посмотрите в исходник класса MD5 и узнайте как там называется метод хеширования.

Старый 11.06.2011, 13:58
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 3  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
Цитата:
MD5 не тот.
исправил.
но остались ещё 47 ошибок типа:

C:\Users\Дима\Desktop\Main1.as, строка 102 1120: Обращение несуществующего свойства api_id.
C:\Users\Дима\Desktop\Main1.as, строка 102 1120: Обращение несуществующего свойства album.
C:\Users\Дима\Desktop\Main1.as, строка 106 1120: Обращение несуществующего свойства response.
C:\Users\Дима\Desktop\Main1.as, строка 107 1120: Обращение несуществующего свойства test.
C:\Users\Дима\Desktop\Main1.as, строка 107 1120: Обращение несуществующего свойства response.

Старый 11.06.2011, 14:02
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 4  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Скорей всего в строке 102 происходит обращение к несуществующему свойству api_id.

Старый 11.06.2011, 14:08
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 5  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
так откуда его взять?

Старый 11.06.2011, 14:10
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 6  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Самому руками написать конечно же. Знаете что такое свойство?

Старый 11.06.2011, 15:20
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 7  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
Получился такой вот код:
Код AS3:
package 
{
 
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.DataEvent;
	import flash.events.MouseEvent;
	import flash.net.FileFilter;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.display.Loader;
	import flash.net.URLRequestMethod;
	import flash.net.URLRequestHeader;
	import flash.display.Bitmap;
	import flash.system.LoaderContext;
	import flash.display.Sprite;
	import flash.utils.ByteArray;
	import flash.net.FileReferenceList;
	import flash.net.FileReference;
 
	public class Main1 extends MovieClip
	{
 
 
		public function Main1()
		{
			trace("ок");
		}
		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
		{
			var file:FileReference = new FileReference();
			file.browse([new FileFilter(FILE_FILTER[0], FILE_FILTER[1])]);
			var gi:int = 0; 
			if (gi == 0)
			{//получаю адрес только один раз
				var sig = MD5.encrypt(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);
			});
		}
 
	}
 
}
И вот столько ошибок:

C:\Users\Дима\Desktop\Main1.as, строка 44 1120: Обращение несуществующего свойства viewer_id.
C:\Users\Дима\Desktop\Main1.as, строка 44 1120: Обращение несуществующего свойства album.
C:\Users\Дима\Desktop\Main1.as, строка 44 1120: Обращение несуществующего свойства api_id.
C:\Users\Дима\Desktop\Main1.as, строка 44 1120: Обращение несуществующего свойства skey.
C:\Users\Дима\Desktop\Main1.as, строка 45 1120: Обращение несуществующего свойства api_url.
C:\Users\Дима\Desktop\Main1.as, строка 45 1120: Обращение несуществующего свойства api_id.
C:\Users\Дима\Desktop\Main1.as, строка 45 1120: Обращение несуществующего свойства album.
C:\Users\Дима\Desktop\Main1.as, строка 50 1120: Обращение несуществующего свойства Img.
C:\Users\Дима\Desktop\Main1.as, строка 51 1120: Обращение несуществующего свойства upUrl.
C:\Users\Дима\Desktop\Main1.as, строка 59 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 61 1120: Обращение несуществующего свойства test.
C:\Users\Дима\Desktop\Main1.as, строка 64 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 65 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 69 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 79 1120: Обращение несуществующего свойства resizedImage.
C:\Users\Дима\Desktop\Main1.as, строка 79 1120: Обращение несуществующего свойства ImageHelper.
C:\Users\Дима\Desktop\Main1.as, строка 81 1120: Обращение несуществующего свойства createM.
C:\Users\Дима\Desktop\Main1.as, строка 82 1120: Обращение несуществующего свойства imagePreview.
C:\Users\Дима\Desktop\Main1.as, строка 83 1120: Обращение несуществующего свойства imagePreview.
C:\Users\Дима\Desktop\Main1.as, строка 83 1120: Обращение несуществующего свойства resizedImage.
C:\Users\Дима\Desktop\Main1.as, строка 84 1120: Обращение несуществующего свойства imagePreview.
C:\Users\Дима\Desktop\Main1.as, строка 85 1120: Обращение несуществующего свойства imagePreview.
C:\Users\Дима\Desktop\Main1.as, строка 86 1120: Обращение несуществующего свойства imagePreview.
C:\Users\Дима\Desktop\Main1.as, строка 87 1120: Обращение несуществующего свойства logoAdded.
C:\Users\Дима\Desktop\Main1.as, строка 88 1120: Обращение несуществующего свойства createM.
C:\Users\Дима\Desktop\Main1.as, строка 93 1120: Обращение несуществующего свойства upUrl.
C:\Users\Дима\Desktop\Main1.as, строка 96 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 97 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 102 1120: Обращение несуществующего свойства file.
C:\Users\Дима\Desktop\Main1.as, строка 102 1120: Обращение несуществующего свойства onUploadComplete1.
C:\Users\Дима\Desktop\Main1.as, строка 103 1120: Обращение несуществующего свойства Img.
C:\Users\Дима\Desktop\Main1.as, строка 104 1120: Обращение несуществующего свойства Img.
C:\Users\Дима\Desktop\Main1.as, строка 105 1120: Обращение несуществующего свойства JSON.
C:\Users\Дима\Desktop\Main1.as, строка 106 1061: Обращение к возможно неопределенному методу hash через ссылку статического типа Class.
C:\Users\Дима\Desktop\Main1.as, строка 106 1120: Обращение несуществующего свойства viewer_id.
C:\Users\Дима\Desktop\Main1.as, строка 106 1120: Обращение несуществующего свойства album.
C:\Users\Дима\Desktop\Main1.as, строка 106 1120: Обращение несуществующего свойства api_id.
C:\Users\Дима\Desktop\Main1.as, строка 106 1120: Обращение несуществующего свойства skey.
C:\Users\Дима\Desktop\Main1.as, строка 107 1120: Обращение несуществующего свойства api_url.
C:\Users\Дима\Desktop\Main1.as, строка 107 1120: Обращение несуществующего свойства api_id.
C:\Users\Дима\Desktop\Main1.as, строка 107 1120: Обращение несуществующего свойства album.
C:\Users\Дима\Desktop\Main1.as, строка 111 1120: Обращение несуществующего свойства response.
C:\Users\Дима\Desktop\Main1.as, строка 112 1120: Обращение несуществующего свойства test.
C:\Users\Дима\Desktop\Main1.as, строка 112 1120: Обращение несуществующего свойства response.


Что делать?.......

Добавлено через 47 минут
Что делать с
Код AS3:
var sig = MD5.encrypt(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++;
				});
C:\Users\Дима\Desktop\Main1.as, строка 49 1120: Обращение несуществующего свойства Img.

Старый 11.06.2011, 19:10
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 8  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
Вы обьяляете все переменные внутри функций - поэтому, за их пределами возникают ошибки - обьявите их в начале в public class Main1 extends MovieClip
{
private var ****** все Ваши переменные ********

и будет Вам счастье, ну как минимум таких ошибок больше не будет выбрасывать

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

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

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


 


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


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