使用idhttp,請問該如何儲存或打開server的response |
答題得分者是:RaynorPao
|
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
小弟參考了討論區內的相關資料後利用idhttp元件發送檔案至server端,並且server也回應了相關的檔案,問題是小弟該如何將回應的檔案儲存或打開呢?
部份相關程式碼如下: TFileStream *BStream; IdHTTP1->HandleRedirects=true; TFileStream *FStream=new TFileStream(OpenDialog1->FileName,fmOpenRead); IdHTTP1->Post("URL: string",FStream,BStream);
請問小弟該如何將BStream儲存或打開呢?懇請各位高手指教一下,謝謝!
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 小弟參考了討論區內的相關資料後利用idhttp元件發送檔案至server端,並且server也回應了相關的檔案,問題是小弟該如何將回應的檔案儲存或打開呢? 部份相關程式碼如下: TFileStream *BStream; IdHTTP1->HandleRedirects=true; TFileStream *FStream=new TFileStream(OpenDialog1->FileName,fmOpenRead); IdHTTP1->Post("URL: string",FStream,BStream); 請問小弟該如何將BStream儲存或打開呢?懇請各位高手指教一下,謝謝!enu 你好: 請參考以下的連結文章 (有完整的範例 BCB/Delphi)
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 謝謝RaynorPao先生,我去看了相關的連結了。 不好意思,可能問題描述的不好, 現下server已可正確回應一個binary檔(也就是BStream), 請問我要如何才能將BStream存檔或打開呢? 不好意思,小弟才疏學淺,可以的話,請用bcb指導。 感謝!enu 你好: 把 BStream 放在 TMemoryStream 裡面,不就可以存檔了嗎?? < class="code"> TMemoryStream *ms=new TMemoryStream; ms->Size=BStream->Size; ms->LoadFromStream(BStream); ms->SaveToFile("test.dat"); delete ms; -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
謝謝RaynorPao先生,我試著使用您的方式去try,結果如下:
請問這是什麼問題呢?該如何解決?再次感謝您熱心指導!
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 4002D592 in module 'rtl60.bpl'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 謝謝RaynorPao先生,我試著使用您的方式去try,結果如下: 請問這是什麼問題呢?該如何解決?再次感謝您熱心指導! --------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 4002D592 in module 'rtl60.bpl'. Read of address 00000000'. Process stopped. Use Step or Run to continue. --------------------------- OK Help ---------------------------enu 你好: 建議你先利用 BCB 中的單步執行,檢查這個錯誤訊息是執行到哪一行程式碼發 生的?? < class="code"> TMemoryStream *ms=new TMemoryStream; IdHTTP1->HandleRedirects=true; TFileStream *FStream=new TFileStream(OpenDialog1->FileName,fmOpenRead); IdHTTP1->Post("URL: string", FStream, ms); ms->SaveToFile("test.dat"); delete FStream; delete ms; -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
enu
中階會員 發表:36 回覆:93 積分:55 註冊:2003-10-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |