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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Jun 2007
Сообщений: 106
По умолчанию LocalConnection не передает FileReference!

Есть 2 флешки, в первой делам select файла, и нужно передать ссылку FileReference во вторую флешку, для организации дальнейшей загрузки.

LocalConnection и через js не проходит, как эту проблему можно решить?
Спасибо
__________________
в рабстве...

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

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Ссылку на экземпляр FileReference нельзя передать.
Как вариант - загрузить файл на сервер и передать ссылку.
__________________
Griver

Старый 20.01.2009, 13:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
LocalConnection не передаёт данные такого рода. Только то, что можно сериализовать, FileReference к таким не относится.

Старый 20.01.2009, 13:51
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 4  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Есть 2 флешки, в первой делам select файла, и нужно передать ссылку FileReference во вторую флешку, для организации дальнейшей загрузки.

Можно так

Есть 2 флешки, в первой делам select файла, и передаем уже загруженный файл по LoacalConnection во вторую флешку.

И все будет работать.

Старый 20.01.2009, 13:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Alex Lexcuk Посмотреть сообщение
И все будет работать.
Покажите.

Старый 20.01.2009, 14:00
alien54 вне форума Посмотреть профиль Отправить личное сообщение для alien54 Посетить домашнюю страницу alien54 Найти все сообщения от alien54
  № 6  
Ответить с цитированием
alien54

Регистрация: Jun 2007
Сообщений: 106
вам код или ссылку

Добавлено через 1 минуту
а еще есть какие-то способы передать ссылку?
__________________
в рабстве...

Старый 20.01.2009, 16:15
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 7  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>Покажите.

А вот это запросто
Делаем под 10 такой документ класс
Код:
//LoadCompFileDoc
package {
	import flash.display.*;
	import flash.text.*;
	import flash.net.*;
	import flash.events.*;
	import flash.utils.*;

public class LoadCompFileDoc extends Sprite {   
	private var loader:Loader, file:FileReference,txt:TextField,
	sender:ByteArray, i:int,conn:LocalConnection;;
	
	public	function LoadCompFileDoc() {
		txt = new TextField();
		file = new FileReference();
		// file.browse(getTypes());
		file.addEventListener(Event.COMPLETE, onComplete);
		file.addEventListener(Event.SELECT, onSelectFile);
		//onShowloadDialog();
		txt.htmlText = "<a href=\'event:load\'><u>Загрузить файл</a>;"
		txt.autoSize = TextFieldAutoSize.LEFT;
		addChild(txt);//добавить на рабочее поле
		txt.autoSize = TextFieldAutoSize.LEFT;
		addChild(txt);
		txt.addEventListener(TextEvent.LINK, txtLinkFunc);

		sender = new ByteArray();
		
		conn = new LocalConnection();
		conn.addEventListener(StatusEvent.STATUS, onStatus);
	}
	
	private function onStatus(event:StatusEvent):void {
		switch (event.level) {
			case "status":
			trace("LocalConnection.send() succeeded");
			break;
			case "error":
		trace("LocalConnection.send() failed");
			break;
			}
	}
	
	private function txtLinkFunc(evt:TextEvent):void {
		if (evt.text == 'load') onShowloadDialog();
	}

	//отображение диалога открытия файла
	private function onShowloadDialog(event:Event = null):void
	{
		var fileFilter:FileFilter = new FileFilter("Images", "*.jpg"); 
		try{
		file.browse([fileFilter]);
		}
	       // catch(illegalOperation:IllegalOperationError){
		catch(e:Error){
	 
		}
	}
	 
	//при выборе файла загружаем его
	private function onSelectFile(event:Event):void
	{
		try{
		file.load();
		}
		// catch(illegalOperation:IllegalOperationError)
		catch(e:Error){
		}
	}
	 
	 
	private function onComplete(event:Event):void
	{
		addChild(loader=new Loader());
		loader.loadBytes(file.data);
		trace(file.data.length);
		for (i=0;i<file.data.length;i++) sender.writeByte(file.data[i]);
		trace(sender.length);
		conn.send("myConnection", "lcHandler", sender);//послать локалл конектион
	}
}
}
Теперь, не долго думая создаем новый fla файл и пишем там в первом кадре
Код:
var conn:LocalConnection,loader:Loader;
conn = new LocalConnection();
conn.client = this;
try {
conn.connect("myConnection");
} catch (error:ArgumentError) {
trace("Can't connect...the connection name is already being used by another SWF");
}
function lcHandler(msg:ByteArray):void {
	trace("Привет");
	trace(msg.length);
	addChild(loader=new Loader());
	loader.loadBytes(msg);
}
Запускаем сначала (ничего там не нажимайте)
http://www.dnadillo.dn.ua/flex/load/LoadCompFileDoc.swf

Теперь это
http://www.dnadillo.dn.ua/flex/load/radio.swf

Теперь когда открыты они оба в первом нажимаем load и выбираем файл на компьютере (это должен быть jpg)
Естестественно можно любой файл передать, но так визуально видно, что он передался.

PS: Файл должен весить меньше 40 кБ, но идея ясна и если надо загружать файл больше 40 килобайт, то надо чуток пошаманить.

Старый 20.01.2009, 17:06
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Alex Lexcuk Посмотреть сообщение
PS: Файл должен весить меньше 40 кБ, но идея ясна и если надо загружать файл больше 40 килобайт, то надо чуток пошаманить.
Ну, по частям, конечно, можно. Только я сомневаюсь, что файлы будут меньше 40 килобайт.

Старый 20.01.2009, 19:19
alien54 вне форума Посмотреть профиль Отправить личное сообщение для alien54 Посетить домашнюю страницу alien54 Найти все сообщения от alien54
  № 9  
Ответить с цитированием
alien54

Регистрация: Jun 2007
Сообщений: 106
угу, файлы видео, желательно чем больше тем лучше
__________________
в рабстве...

Старый 20.01.2009, 22:48
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 10  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
alien54, а нафига?

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

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

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


 


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


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