2014-06-06 4 views
0

클래식 ASP FSO를 통해 파일 목록을 가져 오려고했습니다.기본 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

설정 IUSR_MACHINENAME 및 IWAM_MACHINENAME이 폴더에 대한 변경 권한을 가지고.