PDA

Просмотр полной версии : Как узнать тип загружаемого файла?


Olesolo
10.02.2009, 23:25
через load отправляеться запрос серверу, в ответ сервер возвращает сгенерированую прямую ссылку на файл. причем на один и тот же запрос, при разных условиях, в ответ может вернуться ссылка на разные типы файлов.

как после или до загрузки, определить тип файла?
можно ли получить информацию из хедера загружаемого файла?

Maxi_Hunter
10.02.2009, 23:29
А почему бы просто не извлекать расширение из его имени?

Olesolo
10.02.2009, 23:40
а как получить/вывести или присвоить переменную к ответу от сервера?

потому что в ссылке(запросе), которая отсылаеться серверу нет расширения и вообще непонятно, какой файл придет в ответ.

dimarik
11.02.2009, 00:29
Анализируйте контент. В последнюю (первую?) очередь смотрите на заголовки.

Olesolo
11.02.2009, 01:49
Анализируйте контент.
прошу, подскажите как это сделать!

gloomyBrain
11.02.2009, 04:06
в ответ может вернуться ссылка на разные типы файлов
То есть в ответной строке непонятно, что будет грузиться?
Если приходит ссылка для обращения к php скрипту, который в свою очередь динамически формирует запрашиваемый контент... тогда лучше расскажите поподробнее =)
А если просто возвращается ссылка на файл, тогда - проверяем какие буквы стоят после точки (.../EarthIsRound.mp3) с помощью indexOf либо split()

... но лучше - расскажите подробнее =)

dimarik
11.02.2009, 11:33
Обычно для многих типов файлов, в начале файла определены стандартами последовательности байтиков, по которым можно судить о типе файла. Откройте хекс-редактором файлы gif, jpg, png, mp3, wav, swf и поймете о чем я говорю. Дальше - дело техники. Анализ HTTP заголовков сервера проводить, когда из первого случая непонятно, что за тип файла. Например, HTTP заголовок "Content-Type: text/css" указывает на css файл (MIME тип text/css).

Olesolo
11.02.2009, 12:59
в ответ приходит прямая ссылка на mp3 или на m3u, зависит от сложившейся ситуации.

на данный момент мне не удается перехватить этот ответ.

я понимаю, что можно смотреть по первым байтам и определять, что за файл... но к моему стыду не знаю как это сделать средствами флеша :(
да так, чтобы весь файл не грузило, а только начальный байты, нужные для определения типа файла, а после форвардило на нужную функцию.
и не могу найти в инете ничего подобного под actionscript 2.0