Просмотр полной версии : Чтение данных из открытого файла на компьютере
MaskiShow
11.11.2009, 02:26
Открываем текстовый файл. Как можно теперь прочитать его содержимое (как строку)?
var attach:flash.net.FileReference=new flash.net.FileReference;
var allTypes:Array = new Array();
var textTypes:Object = new Object();
textTypes.description = "Text Files (*.txt, *.rtf)";
textTypes.extension = "*.txt;*.rtf";
allTypes.push(textTypes);
listener=new Object();
listener.onSelect=function(selFile:Object){
trace(selFile.name);
}
И можно ли с помощью класса FileReference сохранить ("закачать") файл на локальный компьютер?
Также интересует, где флешка сохраняет на компьютере файлы SharedObject?
Методы FileReference - только для работы с сервером.
1. Не получится. Казалось бы, можно было бы попробовать после onSelect вызвать load метода Loadvars, но нет. После onSelect мы можем получить только имя файла, а ссылку на файл увы, нет:
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void {
lv.load(????????); //не получится, ссылки на файл мы не знаем
}
var lv:LoadVars = new LoadVars();
lv.onData = function (src:String) {
trace(src);
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
Вот все, что удается найти в объекте file (в аргументе функции-обработчика события onSelect):
_listeners [object Object]
postData undefined
creator undefined
creationDate Wed Nov 11 10:30:06 GMT+0300 2009
modificationDate Wed Nov 11 10:30:06 GMT+0300 2009
size 0
type .txt
name test.txt
Как видим, имя есть, а ссылки на файл (полный путь + имя) - нет.
Если мы делаем что-то вроде админки, то прочитать содержание после onSelect можем только загрузив файл на сервер и закачав его обратно.
(Я, например, так и сделал в паре админок).
2. Нет, нельзя.
По крайней мере, в AS2 и без надстроек типа Zinc дела обстоят так.
alexcon314
11.11.2009, 11:28
selFile.name - именно имя файла, а не полный путь к нему.
где флешка сохраняет на компьютере файлы SharedObject?
В юзерском профиле.
c:\Documents and Settings\[USER_NAME]\Application Data\Macromedia\Flash Player\#SharedObjects\
под вистой папка Documents and Settings вроде Users называется.
Некоторые новшества по работе с локальной файловой системой, которые вас, быть может, заинтересуют, введены в AS3 под 10-ым плеером. Почитайте доки.
MaskiShow
11.11.2009, 15:07
Как-то все взаимоисключающе...
Либо грузим файл с помощью load и читаем его, но тогда вручную указываем путь к файлу.
Либо "открываем" файл через explorer, но прочитать его не возможно...
SharedObject тоже не порадовал форматом хранения данных =((
Ну флеш вроде как не заточен под работу с файловой системой.
Некоторые еще огорчаются, когда узнают, что писать данные в локальный файл тоже нельзя.
Смотрите в сторону AS3.
Открываем текстовый файл. Как можно теперь прочитать его содержимое (как строку)?
В AS2 никак. В AS3 доступен ByteArray файла: FileReference.data (10 плеер).
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.