全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2514
推到 Plurk!
推到 Facebook!

如何以ADO+Intraweb讀取Browser端的圖檔存入庫料庫

答題得分者是:sos_admin
star
初階會員


發表:37
回覆:93
積分:36
註冊:2002-07-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-14 14:55:19 IP:211.72.xxx.xxx 未訂閱
Dear all: ADO IntraWeb (Service型態) 如何讓user在client端選擇jpg檔案存入SQL2000的Image型態欄位? 我試用TIWFile元件,在ADOQuery1的BeforPost中寫: if IWFile1.FileName <> '' then ADOQuery1JPGFIELD.LoadFromFile(IWFile1.FileName); ADOQuery1.Post; 假設此時選的檔案是Client端d:\images\aaa.jpg 會出現如下的錯誤: cannot open file "C:\WINDOWS\system32\aaa.jpg" 系統找不到指定的檔案 ====================================================== 似乎IWFile1.FileName指的是Server的Path 這不是一個可以將Browser的File 直接 upload to Server的元件嗎?
code6421
版主


發表:43
回覆:223
積分:208
註冊:2002-08-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-14 15:36:03 IP:61.216.xxx.xxx 未訂閱
引言: Dear all: ADO IntraWeb (Service型態) 如何讓user在client端選擇jpg檔案存入SQL2000的Image型態欄位? 我試用TIWFile元件,在ADOQuery1的BeforPost中寫: if IWFile1.FileName <> '' then ADOQuery1JPGFIELD.LoadFromFile(IWFile1.FileName); ADOQuery1.Post; 假設此時選的檔案是Client端d:\images\aaa.jpg 會出現如下的錯誤: cannot open file "C:\WINDOWS\system32\aaa.jpg" 系統找不到指定的檔案 ====================================================== 似乎IWFile1.FileName指的是Server的Path 這不是一個可以將Browser的File 直接 upload to Server的元件嗎?
look examples in IntraWeb\Demo\Delphi\Features FileUpdateForm.pas, IWFIle1.SaveToFile(ExtractFilePath(ParamStr(0)) IWFile1.FileName); lablFileInfo.Caption := 'You have uploaded the file ' IWFile1.Filename #13#10 'saved to directory: ' ExtractFilePath(ParamStr(0)); lablFileInfo.Visible := True; Just coding... Taiwan:http://code6421.ktop.com.tw China:http://home.hoolee.com/~code6421
------
Just codeing...
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-14 15:40:36 IP:61.155.xxx.xxx 未訂閱
将客户段图像插入img表中image字段中! procedure TIWForm1.IWButton1Click(Sender: TObject); var stream:tmemorystream; begin DataModule1.ADOQuery1.SQL.Clear ; DataModule1.ADOQuery1.SQL.Text :='select * from img'; DataModule1.ADOQuery1.Close ; DataModule1.ADOQuery1.Open ; DataModule1.ADOQuery1.Append ; stream:=tmemorystream.Create ; IWFile1.SaveToStream(stream); stream.Position :=0; TBlobField(DataModule1.ADOQuery1.FieldByName('image') as TBlobField).LoadFromStream(Stream); stream.Free ; DataModule1.ADOQuery1.Post ; end;
star
初階會員


發表:37
回覆:93
積分:36
註冊:2002-07-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-14 16:16:03 IP:211.72.xxx.xxx 未訂閱
我原本試的方法就如code6421前輩所述: 先SaveToFile再LoadFromFile. 但為了不想產生實際的File在Server端, 試過了sos_admin前輩的方法SaveToStream再LoadFromStream, 此法亦佳, 謝謝兩位的回答! 幫助很大! 發表人 - star 於 2003/08/14 16:20:55
系統時間:2024-11-22 1:54:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!