2013-09-27 7 views
0

Я пытаюсь загрузить двоичный файл с http: server. Я использую функции InternetOpenUrl(), а затем InternetReadFile(), чтобы загрузить файл. Возможно ли узнать имя файла перед загрузкой?Как получить имя файла перед загрузкой файла

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

Есть ли другой способ получить имя файла перед загрузкой?

Благодаря

Винод

ответ

1

Посмотрите на HttpQueryInfo. Посмотрите на заголовки Content-Type и Content-Disposition.

Возможно, вам понадобится использовать HTTP_QUERY_CUSTOM, чтобы получить исходный тип содержимого, если он просто вернется, например. «Текст/обычный».

Чтобы получить все заголовки (и тем самым определить, какая из них содержит нужную информацию), вы можете использовать HTTP_QUERY_RAW_HEADERS_CRLF.

+0

Привет, Бен Спасибо за ответ. Я попытался загрузить mozila firefox и использовал HTTP_QUERY_RAW_HEADERS_CRLF, чтобы получить все заголовки, но я не могу получить от него имя файла, это заголовки, которые я получил HTTP/1.1 200 OK Сервер: Apache X-Backend-Server: ftp4.dmz. scl3.mozilla.com Content-Type: применение/октет-поток Accept-Диапазоны: байты Access-Control-Allow-Origin: * ETag: "d0525-44c40-4e7046b6c7cc0" Last-Modified: Пн, 23 Сен 2013 03:14:35 GMT Контент-длина: 281664 X-Cache-Info: cached Истекает: сб, 28 сен. 2013 17:43:35 GMT Дата: сб, 28 сен. 2013 06:03:37 GMT Соединение: keep-alive –

+0

Но когда я загружаю из Интернета браузера имя файла отображается как Firefox Setup Stub 24.0.exe –

+0

@VinodPaul вы просмотрели вкладку сети инструментов F12 браузера, чтобы узнать, какие заголовки есть? – Ben

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