elphi2010 文件上传之事,害的我想了好多方法,最后也没能实现,望高手帮帮,以减少我对vcl for the web 的无助与无望
if IWFile1.text<>'' then
begin
if ExtractFileExt(IWFile1.text)='.exe' then
begin
WebApplication.ShowMessage('不准上传可执行文件!');
Exit;
end; ms:=TfileStream.create(iwfile1.Text,fmOpenRead);////此句执行不了,在服务器的机子上可以,但在客户机上就不行了,
if (ms.size>15*1024*1024) then
begin
WebApplication.ShowMessage('附件上传失败,文件大于15M,请压缩后上传!');
ms.Free;
Exit;
end;
ms.Position := 0;
parameters.parambyname('e').value:=ExtractFileName(IWFile1.text);
parameters.parambyname('f').LoadFromStream(ms,ftblob);
ms.free;
if IWFile1.text<>'' then
begin
if ExtractFileExt(IWFile1.text)='.exe' then
begin
WebApplication.ShowMessage('不准上传可执行文件!');
Exit;
end; ms:=TfileStream.create(iwfile1.Text,fmOpenRead);////此句执行不了,在服务器的机子上可以,但在客户机上就不行了,
if (ms.size>15*1024*1024) then
begin
WebApplication.ShowMessage('附件上传失败,文件大于15M,请压缩后上传!');
ms.Free;
Exit;
end;
ms.Position := 0;
parameters.parambyname('e').value:=ExtractFileName(IWFile1.text);
parameters.parambyname('f').LoadFromStream(ms,ftblob);
ms.free;
IWFile1.SaveToStream();//保存到流中文件上传都是在服务器端完成写入操作,跟浏览器无关。
只能是在服务器端判断真实文件大小,判断文件类型。(当然某些浏览器也提供这些功能如ie,你要写js判断)