• 締切済み

HTTPで返されるファイル名の取得について

こんにちは。 現在、VBで、WEBからファイルをダウンロードするプログラムを作成しています。 ダウンロードしたいファイルのURLを指定し、wininetのInternetReadFileで読み込んでいるのですが、下記 http://www.hoge.com/index.php?id=1234 のように、phpやaspからファイル名を返されるようなURLの場合、どうやって返されるファイル名を取得するのでしょうか? (wininetのHttpQueryInfoでは、ファイル名は取得できないようなのですが...)

みんなの回答

noname#22650
noname#22650
回答No.2

http://www.hoge.com/index.php?id=1234? >InternetReadFileで読み込むと、「abcd.zip」のファイルの内容自体は取得できるのですが このURLから別のファイルへ飛ばされるのではなく、 このURLから直接バイナリデータが送られて来るのですね。 でしたら、HttpQueryInfoで調べられるのではないでしょうか? Content-Disposition: attachment; filename="abcd.zip" Content-Type: application/download; name="abcd.zip" 上記のどちらかがヘッダに含まれていないでしょうか? http://www.hoge.com/index.php?id=1234? このURLはダウンロード出来ないようなので、 http://php.eweb-design.com/download.php ここで試しました。

noname#22650
noname#22650
回答No.1

>phpやaspからファイル名を返されるようなURLの場合、 そのURLを開いてデータを読み込まないと分らないと思います。

BillG
質問者

お礼

ご回答ありがとうございます。 >そのURLを開いてデータを読み込まないと分らないと思います。 例えば、上記 http://www.hoge.com/index.php?id=1234 のURLを指定して、「abcd.zip」というファイル名が返される場合、wininetのInternetReadFileで読み込むと、「abcd.zip」のファイルの内容自体は取得できるのですが、「abcd.zip」という名称が取得できません。 また、http://www.hoge.com/index.php自体を取得しようとすると、エラーが返されてしまいます。 「そのURL」とは、どの部分を示すのでしょうか? また、申し送れましたが、VB6.0で作成しております。

関連するQ&A