#actionscript-3 #air
#actionscript-3 #air
Вопрос:
У меня есть приложение Adobe Air, которое открывает CSV-файл на Mac. Я получаю сообщение об ошибке, которое я не получаю с тем же приложением для Windows, поэтому я думаю, что что-то о расположении файлов и т.д. Не так. Вот код:
var file: File = File.applicationStorageDirectory;
file = file.resolvePath("Aamp;P plans");
file.addEventListener(FileListEvent.SELECT_MULTIPLE, filesSelected);
function filesSelected(event: FileListEvent): void {
//trace(event.files.length);
fileList = new Array();
fileNames = new Array();
for (var i: uint = 0; i < event.files.length; i ) {
fileList.push(event.files[i].nativePath);
trace("name of file loaded is ", event.files[i].name, "where :", event.files[i].nativePath);
}
}
var urlRequest: URLRequest = new URLRequest(fileList[0]);
function openCSVFile():void{
csv = new CSV(urlRequest);
csv.addEventListener(Event.COMPLETE,onComplete);
csv.addEventListener(IOErrorEvent.IO_ERROR, onErrorOpening);
function onComplete(event:Event):void{
trace("file open successful");
}
function onErrorOpening(event:IOErrorEvent):void{
trace ("error opening file");
}
}
Трассировка URLRequest показывает местоположение, где оно должно быть, поэтому приложение знает, где искать, и оно действительно находит файл. Вот результат трассировки:/Applications/MyApp.app/Contents/Resources/A amp; P plans /majors/NationalLeague.csv. Тем не менее, вместо completeEvent, отображающего трассировку, инициализируется событие ошибки. Есть идеи, где искать проблему? В имени файла нет никаких странных символов или чего-либо еще. Отслеживание ошибки показывает следующее: Ошибка # 2032: Ошибка потока. Спасибо
Комментарии:
1. Попробуйте использовать событие. файлы [i].url вместо события. files[i].nativePath . Кроме того, вы формируете свой экземпляр URLRequest ДО того, как диалоговое окно выбора выдаст вам какой-либо результат, что, очевидно, неверно. Кроме того, не определяйте функции внутри функций.
2. @Organis согласился, но они были помещены для иллюстрации проблемы, с которой я столкнулся. Спасибо за отзыв. Событие замены. файлы [i].Собственный путь с событием. файлы [i].url сделали свое дело. Спасибо
Ответ №1:
Вполне возможно, что с амперсандом и пробелом в «Планах A amp; P» могут возникнуть проблемы.
Попробуйте удалить / изменить их.
Комментарии:
1. Большое вам спасибо. Я все равно удалил их для пущей убедительности. Замена nativePath на URL сделала свое дело