- - PR -
サーバー上のファイルをリネームしてダウンロードする
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-03-08 03:07
お世話になります。
現在IIS6.0 & ASP & SQLにてのシステムで開発を行っております。 サーバー上のファイルをリネームしてダウンロードする必要がありました。 現在、アップロードの際ファイル名が同等であっても上書きが発生しないように レコードID_ファイル名 の形式でアップロードされています。 しかし、ダウンロードを行う際この形式(レコードID_ファイル名)ではなく レコードIDを省いたアップロードした際のファイル名でダウンロードを行いたく 質問させて頂きました。 尚、ファイル名はデータベースに保存されています。 ダウンロードの際、一枚ページを挿入(リネームを行うVB)し ファイル名を置換(レコードID_)を省いた形式でダウンロードするような 形式で考えていますが、勉強不足のため質問させて頂きました。 今考えている手法としては、一度 Server.CreateObject の CopyFile にてTEMPフォルダに一度コピーし そのコピーされたファイルを Server.CreateObject の Name プロパティにて DBに集録されているファイル名を呼び出しリネームし、ダウンロード(Response.Redirectして)する 様なフローを考えていましたが、もっと簡潔に済む方法が考えつきませんでした。 大変申し訳ございませんが、アドバイスを頂ければ幸いです。 どうぞ宜しくお願いします。 |
|
投稿日時: 2009-03-08 08:40
ファイルを全部よみこんで、Response.Write してくださ
Content-Disposition: attachment; filename=元のファイル名 ヘッダをつければ、ダウンロードダイアログが出てきます。 ##日曜日なのに、目覚ましに過剰反応。。。玄関で家族に「今日は日曜日。。。」 ##と止められました。かなりテンパってます;; |
|
投稿日時: 2009-03-08 14:31
ぴあちゃん様
日曜日の早朝にも関わらずアドバイスを頂きありがとうございます(笑) 早速実験を行っているのですが >Content-Disposition: attachment; filename=元のファイル名 >ヘッダをつければ、ダウンロードダイアログが出てきます。 上記の通りにてファイル名は変更できたのですが、 >ファイルを全部よみこんで、Response.Write ファイルの読み込みフローで、手法が思い当たりませんでした。 申し訳ございませんが、このあたりをアドバイス頂ければ幸いです。 どうぞ宜しくお願いします。 id = Request.QueryString("id") sql = "SELECT * from [ファイルマスタ]" sql = sql & " WHERE [file_id] = " & id Call rs.Open(sql, db) Response.AddHeader "Content-Disposition","attachment;filename=" & rs("file_name") 'Response.ContentType = "application/octet-stream;" Response.Write "問題の箇所" rs.Close Set rs = Nothing db.Close Set db = Nothing |
|
投稿日時: 2009-03-08 23:05
http://www.red.oit-net.jp/tatsuya/vb/Open.htm
|
1