質問: ### 前提・実現したいこと クラシックASP(.netではない)で、リンクをクリックするとzipファイルなどの 圧縮形式ファイルをダウンロードできるWebページを作成しているのですが、 圧縮形式ファイルをファイルとして認識してくれないらしく、ダウンロードに失敗します。 ダウンロードできるようにするにはどうすればよいでしょうか ### 発生している問題・エラーメッセージ IISの設定か、もしくはサーバーそのものの設定が問題なのではないかとは思うのですが・・・ 追記: 沢山のご回答誠にありがとうございます。 言葉足らずで申し訳ございません。追記させていただきます。 ASPプログラム内で、ファイルシステムオブジェクトのIsFolderを使用して 選択したリンクがファイルかフォルダかを判断しています。 デバッグしてみると、選択したzipなどの圧縮ファイルはtrue(フォルダ)として 扱われてしまっております。 また、圧縮ファイルが置いてあるフォルダ内のファイル一覧をプログラム内で表示させてみると、 zipなどの圧縮ファイルは拡張子が表示されません。 おそらく、拡張子が表示されるようになれば、問題がなくなると思うのですが・・・ ### 試したこと IISの「MIMEの種類」に.zipや.lzhが含まれていることは確認してあります。 ### 補足情報(言語/FW/ツール等のバージョンなど) サーバーはWindowsServer2012R2、IISは8.5です。
回答: Scripting.FileSystemObject の IsFolder は zipをフォルダ扱いしてしまう仕様なので特に問題はありません。 **↑訂正:Scripting.FileSystemObjectではなくShell.Applicationでした** IISやASPはzipを正しくファイル扱いするはずです。 エクスプローラーでファイルの拡張子が表示されるようにするには以下のようにします。 Windowsの[コントロールパネル]を開く。 ->[フォルダーオプション]を開く。 ->[表示]タブをクリックする。 ->[登録されている拡張子は表示しない]のチェックを外す。 ただし、おそらく表示されるようになっても問題は解決しません。 そのうえで質問です。 (上の「情報の追加・修正の依頼をする」にも書きましたが改行されなくて見づらいので、こちらの回答欄で質問させていただきます。) 1.zipファイルのファイルサイズを教えてください。 2.zipファイル以外のファイルはダウンロードできますか? できるのであればその拡張子をいくつか教えてください。 3.ダウンロードするリンクは以下のような感じで直接ファイルを示しているのでしょうか? http://domain/folder/file.zip それとも以下のような感じでASPのクエリーとしてファイル名を指定しているのでしょうか? http://domain/folder/download.asp?f=file.zip 4.ASPでダウンロードの制御をするときに、以下のもので使用しているものはありますか? Response.WriteFile Response.BinaryWrite Server.Transfer ADODB.Stream 5.ダウンロードに失敗時に表示されているメッセージを教えてください。