ISAPI中文件读写操作问题?(50分)

  • 主题发起人 主题发起人 deem
  • 开始时间 开始时间
D

deem

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ISAPI(就是DLL)方式写了一个简单的网页计数器,其中涉及到文本文件读写操作。
在CGI(就是EXE)方式好好的,一转到ISAPI方式就出错而且可以肯定的是问题出在对文
本文件的读写操作上。(因为我把读写操作语句注释后一切正常)。所以我想问是不是
在DLL方式下不能进行文件读写操作(我想Delphi不会这么弱吧,何况我用的是D6呀)?
如果能因该如何做?请各位探讨。
 
我想你直接建立一个ISAPI,然后把CGI的相关代码拷贝过来试试看
 
我就是这样做的。可是还不行。那位在ISAPI中做过文件读写操作。
 
me用过isapi, 可是我就是用了最平常的file类函数。
你是不是有权限问题?
 
to ahxia:
请说详细一些。
 
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
F: TextFile;
str: string;
s: TStringList;
begin
S := TStringList.Create;
AssignFile(F, 'myfile.txt');
Reset(F);
readln(F,str);
CloseFile(F);
s.Add('<body>');
s.Add(str);
s.Add('</body>');
Response.ContentType := 'text/html';
Response.Content := s.Text;
Response.SendResponse;
end;
这样是能够读写的. 但是比较麻烦的是
a, 文本文件myfile.txt在哪里, 反正我是用SetCurrentPath()来找
b,用哪个web server, 没有IIS,用Sambar测试的,正常.其他WebServer情况没有测试
c,用什么OS..我在Win2k下有问题,98下无问题,想来是Web Server的影响
 
我写的一个ftp搜索引擎在isapi服务程序中有文件操作,我是用的主要是tstringlist。
没发现有问题。
 
to mikedeakins
能说的详细些吗?谢谢!
 
我就用tstringlist的loadfromfile读取一个文本文件,然后可能需要在末尾加入几行,
最后写回文件。什么问题都没有。我指定的是文件的全路径。
 
Response.ContentType := 'text/html';
Response.Content := s.Text;
Response.SendResponse;

上面这三句,只保留
Response.Content := s.Text;

在最后一行加上
s.free;
 
to mrzj:
s.text中的s是什么?
 
提示是什么,应该是权限问题!我用ISAPI做了多用户,多样式的计数器!
 
运行程序目录需要设成可读,可写,,
 
你的str好像不会自加哎
 
应该是权限问题。为安全起见最好分两个目录设置。在IIS中把DLL所在的目录设成可执行,计数器存放文件的目录的NTFS权限
设为可读写。
 
我的没有问题,用Tinifile记得数
 
请看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=975014
 
后退
顶部