使用intraweb,如何从页面向数据库存入图片???(30分)

  • 主题发起人 主题发起人 zjwyyh
  • 开始时间 开始时间
Z

zjwyyh

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用如下方法向库中存入图片,总是无法保存??
procedure TIWForm1.IWButton1Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
begin
datamodule1.ADOTable1.Edit;
IWDBimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
end;

procedure TIWForm1.IWButton2Click(Sender: TObject);
begin
datamodule1.ADOTable1.Post;
end;
 
好像用OpenPictureDialog不太好吧?
IW自带有IWFile,曾测试过用这个东东保存图片,如下:
----
var fileStream:TMemoryStream;
begin
if IWFile1.Filename='' then
begin
WebApplication.ShowMessage('请选择图片文件');
Exit;
end;
fileStream:=TMemoryStream.Create;
IWFile1.SaveToStream(fileStream);//文件保存到流中
With ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('insert into test_tab(Field_Image) values(:FieldImage)');//Field_Image是图片字段
Parameters.ParamByName('FieldImage').LoadFromStream(fileStream,ftVarBytes);
try
ExecSQL;
except
end;
end;
end;
 
OpenPictureDialog在IW的浏览器端操作是不适用的,虽然可以执行。
又看了一下你的程序,用ADOTable1.Insert。
如果非用OpenPictureDialog不可,会发现它的弹出位置是怪怪的。[:)]
把上面程序修改如下也是可以行的通的:
SQL.Add('insert into tab (Field_Image) values(:FieldImage)');
Parameters.ParamByName('FieldImage').LoadFromFile(OpenPictureDialog1.FileName,ftVarBytes);//此处是用OpenPictureDialog。
记得yeskert1在他的帖子中好像也回答过这个问题,你可以找找看。

另,请参考: http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1918298
 
你可以给我关于ultraweb的资料吗
越详细越好!
我急用
谢谢
 
zjwyyh:
您太客气了。 [:)]
IW程序中OpenPictureDialog是在服务器端执行的。
想在浏览器端用OpenPictureDialog选择图片进行保存的操作是不适用的。

我也原意学习 ultraweb,在您不忙的情况下,愿意要一份资料 。
jrqjrq@sina.com 谢谢。
 
非常感谢jrq,问题已解决。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
565
import
I
I
回复
0
查看
769
import
I
后退
顶部