انتخاب فایل

SASAN-BSE

New Member
سلام ، من میخوام یک فایل رو انتخاب کنم !

مثلا اینو ببینید:



کد:
browse_btn.addEventListener(MouseEvent.CLICK , openFile);

با کلیک به اینجا میره:

کد:
protected function openFile(event:MouseEvent):void{
			fr.browse();
			fr.addEventListener(Event.SELECT , getFile);
		}

فایل انتخاب میشه و به اینجا میره:

کد:
protected function getFile(event:Event):void{
			fr.addEventListener(Event.COMPLETE, onComplete); 
			fr.load(); 
		}

و بعد هم که لود میشه !

به این صورت هم لود میشه:
fr.data


حالا سوال من اینه که

چطور میشه آدرس فایل رو از اول به fr داد؟ یعنی بدون browse کردن ، مثلا میخوام اینجوری فایلو به fr بدم:

کد:
fr  =  new  URLRequest("c:\text.txt");

ولی کار نمیکنه ، ممنون میشم کمکم کنید:rose:
 
آخرین ویرایش:

++Hadi++

Active Member
می شه با urlLoader به شرطی که آدرس مطلق یا نسبی یه فایل رو داشته باشید،اونو به صورت باینری بدون باز شدن browse و البته به فرمت byteArray بخونید و لودش کنید.
 

SASAN-BSE

New Member
می شه با urlLoader به شرطی که آدرس مطلق یا نسبی یه فایل رو داشته باشید،اونو به صورت باینری بدون باز شدن browse و البته به فرمت byteArray بخونید و لودش کنید.

سلام من این کدو پیدا کردم ولی باز نمیشه ازش استفاده کرد:

کد:
var PATH:String = "lorem.txt";
var urlRequest:URLRequest = new URLRequest(PATH);
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT; // default
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);


من میخوام این فایل رو توی FileReference استفادش کنم

ممنون میشم دقیقتر توضیح بدید
 

++Hadi++

Active Member
filereference حتما browse باز می کنه ولی urlLoader برای خوندن از بیرون بصورت مخفیانه هست...
 

++Hadi++

Active Member
PHP:
import flash.net.URLLoaderDataFormat;
import flash.utils.ByteArray;
import flash.utils.Endian;

var PATH:String = "Contain/myTXT.txt";
var urlRequest:URLRequest = new URLRequest(PATH);
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY; // pay attention
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);

function urlLoader_complete(evt:Event):void
{
   var ba:ByteArray=evt.target.data;
   trace(ba);
}
با این دستور،فایل رو به صورت بایت می خونین و باید از بایت آرایه ها استفاده کنین که خودش یه دریای عظیمی هست...خیلی از دستورات و کلاسها،متد هایی رو برای خوندن بایت آرایه دارند تا اونو parse کنن و نمایش بدین.این متد در مورد netStream و ویدئو،مشکل داره که هنوز هم که هنوزه بعد از گذشت 7 سال ،حتی تو فلش پلیر 11 مشکلش حل نشده...
 
آخرین ویرایش:

SASAN-BSE

New Member
ممنون از راهنمایت ، حالا چطور میتونم سیوش کنم؟ بدون باز شدن صفحه browse ؟

با این کد نتونستم:

PHP:
new FileReference().save(filematni.data , 'text.txt');
 

++Hadi++

Active Member
اگه با air کار کنین می تونین با استفاده از کلاس File به راحتی سیو کنین در غیر اینصورت مجبوین با برنامه های جانبی مثل .net یا swfkit یا mdm zink این کار و بکنین .swf خشک و خالی این اجازه رو به شما نمی ده مگر با استفاده از shared object که اونم فایل نیست.یه جور حافظه temporary و کوکی هست...
 

جدیدترین ارسال ها

بالا