線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2032
推到 Plurk!
推到 Facebook!

TIdHTTPServer 下載檔案的疑問

答題得分者是:skcc
dadai
一般會員


發表:29
回覆:31
積分:12
註冊:2009-01-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-02-23 20:12:41 IP:219.90.xxx.xxx 訂閱
請教各位先進
我利用Indy 10 的元件做了一個HTTP Server
我想要讓使用者輸入檔案的網址後
會跳出是否下載的視窗

我在HTTP Server的CommandGet 中這麼寫
AResponseInfo->ContentStream = new TFileStream( DLFileName, fmOpenRead fmShareDenyWrite );
DLFileName是使用者要下載的檔案

假設我現在想要下載一個叫做 test.zip 的檔案
我在瀏覽器打上 http://192.168.1.10/test.zip
但是瀏覽器並不會跳出詢問下載的視窗
而是似乎是把檔案當成網頁直接下載了

請問我要在哪邊做修正
才可以達成我想要的方式?
skcc
中階會員


發表:36
回覆:96
積分:88
註冊:2002-08-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-03-31 14:19:29 IP:218.103.xxx.xxx 訂閱
我估你在reponse的時候,沒有將 TIdHTTPResponseInfo 物件的 ContentType 填對。因為如果你要傳回的是 jpeg / html /text …等東西,由於瀏覽器懂得開啟,所以不會顯示窗口詢問你儲存與否,就直接開啟了。所以請於TIdHTTPResponseInfo 物件的 ContentType 傳入正確資訊。

Anthony Lee
dadai
一般會員


發表:29
回覆:31
積分:12
註冊:2009-01-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-04-04 10:56:34 IP:219.90.xxx.xxx 訂閱

skcc感謝您的提醒
看起來的確是這個問題

不知道可否方便再請教一下
看起來TIdHTTPResponseInfo 的 ContentType 預設 text/html
如果我現在想做可以檔案下載的方式
不知道這個欄位該填什麼字串?
我可以到哪邊找到這個資訊嗎?


===================引 用 skcc 文 章===================
我估你在reponse的時候,沒有將 TIdHTTPResponseInfo 物件的 ContentType 填對。因為如果你要傳回的是 jpeg / html /text …等東西,由於瀏覽器懂得開啟,所以不會顯示窗口詢問你儲存與否,就直接開啟了。所以請於TIdHTTPResponseInfo 物件的 ContentType 傳入正確資訊。

Anthony Lee
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-04-04 12:13:33 IP:75.18.xxx.xxx 未訂閱
Ask GOOGLE, he'll tell you!

http://www.utoronto.ca/web/HTMLdocs/Book/Book-3ed/appb/mimetype.html

===================引 用 dadai 文 章===================

skcc感謝您的提醒
看起來的確是這個問題

不知道可否方便再請教一下
看起來TIdHTTPResponseInfo 的 ContentType 預設 text/html
如果我現在想做可以檔案下載的方式
不知道這個欄位該填什麼字串?
我可以到哪邊找到這個資訊嗎?


===================引 用 skcc 文 章===================
我估你在reponse的時候,沒有將 TIdHTTPResponseInfo 物件的 ContentType 填對。因為如果你要傳回的是 jpeg / html /text …等東西,由於瀏覽器懂得開啟,所以不會顯示窗口詢問你儲存與否,就直接開啟了。所以請於TIdHTTPResponseInfo 物件的 ContentType 傳入正確資訊。

Anthony Lee
dadai
一般會員


發表:29
回覆:31
積分:12
註冊:2009-01-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-04-04 12:59:41 IP:123.204.xxx.xxx 訂閱
我先說聲不好意思
雖然我有GOOGLE
但是因為對這個東西十分不熟
所以看不大懂該找什麼

十分感謝 Stallion版主 提供的訊息
我現在有概念多了
不過因為是skcc先回答我的問題
我把結案給他
請Stallion版主包含
也致上我的謝意

===================引 用 Stallion 文 章===================
Ask GOOGLE, he'll tell you!

http://www.utoronto.ca/web/HTMLdocs/Book/Book-3ed/appb/mimetype.html

===================引 用 dadai 文 章===================

skcc感謝您的提醒
看起來的確是這個問題

不知道可否方便再請教一下
看起來TIdHTTPResponseInfo 的 ContentType 預設 text/html
如果我現在想做可以檔案下載的方式
不知道這個欄位該填什麼字串?
我可以到哪邊找到這個資訊嗎?


===================引 用 skcc 文 章===================
我估你在reponse的時候,沒有將 TIdHTTPResponseInfo 物件的 ContentType 填對。因為如果你要傳回的是 jpeg / html /text …等東西,由於瀏覽器懂得開啟,所以不會顯示窗口詢問你儲存與否,就直接開啟了。所以請於TIdHTTPResponseInfo 物件的 ContentType 傳入正確資訊。

Anthony Lee
系統時間:2017-12-15 12:40:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!