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

請問UrlDownloadToFile(想下載ShowInfoImg.jsp?docId=1265505檔案)

答題得分者是:bugmans
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-03 17:21:56 IP:210.244.xxx.xxx 訂閱

各位前輩:

描述:我想下載'http://www.chinastock.com.cn/info/ShowInfoImg.jsp?docId=1265505'這個檔案
其中最後的數字是變動的
目前這個連結,是.pdf檔案
當不同的連結,可能會下載到不同的類型的檔案,如.doc .xls .htm等等

問題:1.要如何得知這個連結的檔案類型是.PDF或是.XLS等等,否則我下載回來的檔案可能無法開啟
2.要如何得知這個連結的檔案大小,因為有些僅不到10K,像這種檔案就不是我要的
3.要如何得知這個連結的檔案名稱,若可以,我在儲檔命名時,就可以一次完成
4.要如何得知這個連結檔案的直接完整路徑,例如可能是:'http://www.chinastock.com.cn/info/PDF/xxxxxxx.PDF
若第4點OK,那前三點問題可能都解決了

之所以會有前3點問題,是因為若在IE直接下載,會跳出下載畫面,並且顯示該檔案的類型.名稱.大小(即前3點我的問題)
所以我想應該是可以解決的
只是我目前用的函數是否可行,或者該用何種函數
之所以會有第4點問題,是因為我下載許多其它相關綱站的檔案時,有時可在IE看見完整的連結路徑

謝謝各位前輩



[code delphi]

function DownloadFile(Source, Dest: string): Boolean;
begin
//uses urlmon
try
Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0;
except
Result := False;
end;
end;

procedure GetFile();
var
webfilename,webfileerrorname:string;
begin
webfilename:='http://www.chinastock.com.cn/info/ShowInfoImg.jsp?docId=1265505';
if not DownloadFile(webfilename, 'D:\test' '.pdf') then
begin
showmessage('下載不成功---');
end


[/code]
編輯記錄
conchih 重新編輯於 2008-04-03 17:23:24, 註解 無‧
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-03 19:56:39 IP:125.225.xxx.xxx 未訂閱
URLDownloadToFile最後一個參數是IBindStatusCallback可以從這裡得到下載的細節
請見http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=29043可以先得到檔案的大小
至於轉址後的位置http://delphi.ktop.com.tw/board.php?cid=30&fid=67&tid=90663卻沒有答案
URLDownloadToFile第三個參數為存檔位置,你要呼叫URLDownloadToFile後才能
得到轉址的位置我覺得次序上有衝突,可能無法從callback資訊中得到轉址後的位置
系統時間:2024-04-20 14:25:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!