2014-06-06 79 views
0

我试图通过经典ASP FSO companent获取文件列表。经典ASP FSO权限被拒绝

但即使我从远程桌面给了根文件权限(IUSR_domain),我仍然得到这个错误。

Microsoft VBScript runtime error '800a0046' 

Permission denied 

/default2.asp, line 28 

<% 
fs,fo,x 
set fs=Server.CreateObject("Scripting.FileSystemObject") 
set fo=fs.GetFolder("C:\inetpub\vhosts\xx.com\httpdocs\photo\other") <-- line 28 
for each x in fo.files 
%> 
<div id="photos"> 
<div class="photo"><%Response.write(x.Name & "<br>")%></div> 
</div> 

<%next 
set fo=nothing 
set fs=nothing 
%> 
+0

如果路径确实是正确的,那么您需要确保访问网站的用户上下文至少具有对“C:\ inetpub \ vhosts \ xx.com \ httpdocs \ photo \ other”的读取权限'。如果您使用匿名访问账户设置为“IUSR”或“IUSR_machinename”(缺省情况下会因IIS版本而异)? – Lankymart

回答

0

尝试使用使用Server.Mappath

例如:

downloadFileDirectory = Server.MapPath("\httpdocs\photo\other") 
      Set fs= CreateObject("Scripting.FileSystemObject") 

      If fs.FolderExists(downloadFileDirectory) Then 
       Set fo= fs.GetFolder(downloadFileDirectory) 
        for each x in fo.files 
        %>etc. 
+0

@ r.Taskiran ...这个答案对您有帮助吗? – allski

+0

感谢您的帮助。 –

+0

@ r.taskiran不客气 - 如果它回答您的问题,那么我可以请您将问题标记为已回答。 – allski

0

集IUSER_机器名和IWAM_机器有该文件夹的更改权限。