2013-09-27 102 views
0

我試圖從http:server下載二進制文件。我正在使用功能InternetOpenUrl(),然後使用InternetReadFile()來下載文件。下載前是否可以知道文件名?如何在下載文件之前獲取文件名

我現在正在做什麼來獲取文件名是 - 一旦下載完成,使用GetFileVersionInfo()並從緩衝區中獲取OrginalFilename,然後將該文件重命名爲OrginalFilename。

有沒有其他方式可以在下載前獲取文件名?

感謝

維諾德

回答

1

HttpQueryInfo。看看Content-TypeContent-Disposition標題。

如果您剛剛返回原始內容類型,則可能需要使用HTTP_QUERY_CUSTOM。 「text/plain的」。

要獲得所有標題(從而計算出哪一個包含所需信息),可以使用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 內容類型:應用/八位字節流 的Accept-範圍:字節 訪問控制允許來源:* ETag的: 「d0525-44c40-4e7046b6c7cc0」 上次修改:星期一,9月23日2013 03:14:35 GMT Content-Length:281664 X-Cache-Info:cached Expires:Sat,28 Sep 2013 17:43:35 GMT Date:Wed,28 Sep 2013 06:03:37 GMT 連接:保持活躍 –

+0

但是,當我從網上下載瀏覽器的文件名顯示爲Firefox安裝Stub 24.0.exe –

+0

@VinodPaul你在瀏覽器的F12工具網絡選項卡上查看了哪些標題? – Ben

相關問題