用DELPHI为ASP开发文件上载组件 (200分)

  • 主题发起人 主题发起人 xiakaijun
  • 开始时间 开始时间
X

xiakaijun

Unregistered / Unconfirmed
GUEST, unregistred user!
我参照网站http://www.net-wing.net/kangwei/的一篇文章:
《用DELPHI为ASP开发文件上载组件 》-深圳王发军 ,做文件上载组件 。
有一问题向各位请较:
客户端上传文件,服务端通过该ActiveX读取文件并保存。我已在
服务端获取文件名,文件大小,及文件在数组中的位置,当保存时出现问题:
function TUploadFile.SaveFileAs(FileName: OleVariant): OleVariant;

var

longIndex : LongInt;

AFile : file of byte;//以二进制的形式保存文件

byteData : Byte;

begin

result := true;

try

assignFile( AFile, FileName );//or assign(AFile,FileName)

FScriptingContext.Response.write('after assign');//IE show
rewrite( AFile );
FScriptingContext.Response.write('after rewrtie')
//IE not show

for longIndex := FFileDataStart to FFileDataEnd do //FFileDataStart ,FFileDataEnd 为文件位置

begin

byteData := Byte( FContentData[ longIndex ] );//客户端来的数据

Write( AFile, byteData );

end;

CloseFile( AFile );

except

result := false;

end;

end;

//通过测试发现执行rewrite( AFile );句时出现问题,我单独编程测试
应无问题,因较难Debug,请大家帮忙!
 
二进制文件用BlockRead/BlockWrite来进行存取操作!?
 
问题是根本不能执行到下面,Rewrite(AFile)时就Except
 
出什么意外了?是路径不存在?没权限?
 
路径不存在是不可能的,我也怀疑是否权限不足,但我把相应目录设为Everyone
完全控制,匿名帐号也完全控制(NT),同样不行,谁能帮我,请问怎样Debug.
 
<p color="red"><font face="隶书" size=5> 我本来用的是NT(IIS),出现rewite(AFile)不能通过,我到PWIN98(PWS)上测试通过,但我必须用NT(IIS),我把相应目录设为Everyone
完全控制,匿名帐号也完全控制(NT),同样不行,不应该出现这样的事,我该怎么办,
我无助的问!</font></p>
 
<marquee>等待</marquee>
 
在iis里设置你写文件的目录 可读写等,实在不行,把这个目录权限全打开,就没问题了,哈哈,我不是说在iis外面设置
嗯。。如果还不行,把iis的的匿名访问的iuser_computer改成administrator,嘿嘿
 
经过几次实验我搞清了,boy_zyz的提示很关键,但却却是在IIS的外面对目录的
权限进行设置的。“把这个目录权限全打开”或“把iis的的匿名访问的iuser_computer改成administrator”可能不太好。


我亿决定该<font color='red'>boy_zyz 105分,Jams 10分,tanxh 25分,</font>还有<font color='blue' size=6>60分</font>谁要?
 
怎么没人要分
 
可以把文件已二进制存入数据库,然后通过数据库存取(做存储过程)
 
把目录的权限设置为选择性文件访问方式,
选择“其他”里边的读取和写入权限,其他权限如删除、运行等都不给
不就行了?
 
给他iuser_computer足够的权限。
 
谁能给我一个用delphi5.x写ASP组件的例子(能写一句话就行谢谢了)
还有就是写组件时用不用import type lib...我在import时总是提示

A CLASS NAMED TSESSION ALLREADY INSTALLED

到底怎么班<h2>???</h2>
 
多人接受答案了。
 
后退
顶部