2010-03-25 3 views
2

Мне нужно, чтобы выяснить размер удаленного файла, прежде чем загрузить it.and Я знаю, что в местном месте, это может быть сделано следующим образомКак я могу получить размер удаленного файла, прежде чем начать его загрузку?

var _filePath:String = "X:/save/abc.exe"; 
var file:File = new File(_filePath); 
if (file.size > 1000) 
{ 
    trace("too large"); 
} 

Но когда я попытался удаленный файл как

var _filePath:String = "http://www.aaa.com/webfile.exe";

Это не work.And, как я могу получить размер удаленного файла, прежде чем я использую

var _downLoadPath:String = "http://www.aaa.com/webfile.exe"; 

Спасибо!

ответ

5

То, что я имею в виду сейчас использовать событие прогресса, как это:

var downloadURL:URLRequest; 
var fileName:String = "SomeFile.pdf"; 
var file:FileReference; 

function FileReference_event_progress() 
{ 
downloadURL = new URLRequest(); 
downloadURL.url = "http://www.aaa.com/webfile.exe"; 
file = new FileReference(); 
file.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
file.download(downloadURL, fileName); 
} 

function progressHandler(event:ProgressEvent):void 
{ 
var file:FileReference = FileReference(event.target); 
trace(event.bytesTotal); 
} 

будет выход (будет выводить его после запуска процесса загрузки, а) Этот скрипт общий размер файла. То, что вы можете сделать, это остановить загрузку сразу после получения первой части файла вместе с общим размером - это то, что у меня есть обходной путь.

Еще одна вещь, которую вы можете попробовать, - использовать trace(file.bytesTotal); вместо file.download(downloadURL, fileName);, но я не уверен, что она будет работать без запуска процесса загрузки, поскольку запрос на передачу в файл отсутствует.

2

Я никогда не использовал Action Script, но, как оказалось, вы загружаете файл через http, что вы ищете, это content_length в http-заголовке. У Http есть запрос HEAD, а также более известные GET и POST. Если вы можете выяснить, как сделать запрос HEAD, тогда вы можете проанализировать заголовок ответа для длины содержимого.

Смежные вопросы