为什么在CGI中不能象一个映射的网络驱动器写入文件?(50分)

  • 主题发起人 主题发起人 loxtln
  • 开始时间 开始时间
L

loxtln

Unregistered / Unconfirmed
GUEST, unregistred user!
另外,adoquery的连接字符指向一个存放在网络盘上的数据库文件时,而无法
执行查询,所有这些在普通的应用程序中都是可以的!
 
比如:将H:/a.txt的第一行返回客户:

assignfile(f,'h:/a,txt);
reset(f);
readln(f,ch);
Response.Content :=ch;

出现500错误!!救急!!
 
assignfile(f,'h:/a,txt);的"'h:/a,txt"应为“'h:/a.txt”吧?
 
上面的例子是我随便敲的,只是为了说明这个意思,是我敲错了,但我的问题不在这里!
 
在说清楚一些:比如下面的CGI源代码,能够正确地列出本地盘上的文件,二不能列出网络盘上的文件!
即:这样调用可以:http://xxx.xxx.xxx.xx/test.cgi?f=c:/*.*
而http://xxx.xxx.xxx.xx/test.cgi?f=h:/*.* 却返回空白 ,H:是映射的网络盘。
还有:这个CGI在98的PWS下可以访问网络盘,但是在2000IIS下就出现上面的问题,
是设置问题?!

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var ch,chh:string;
SearchRec:tSearchRec;
begin
chh:=Request.QueryFields.Values['f'];
ch:='';
if FindFirst(chh, faAnyFile, SearchRec)=0 then
ch:=ch+SearchRec.name+'</br>';

while findnext(SearchRec)=0 do
ch:=ch+SearchRec.name+'</br>';
findclose(SearchRec);
Response.Content :=ch;
end;
 
应该是权限问题,你把iis 用户改为administrator 组 试验一下看是否还有问题。
 

Similar threads

后退
顶部