2016-11-08 49 views
0

映射的網絡驅動器服務器是否需要安裝IIS才能使用傳統的asp獲取文件夾?映射網絡驅動器應該安裝IIS以從其他服務器搜索文件夾?

我寫的代碼工作正常,當我嘗試檢查文件夾是否存在或不在server1上。但是當我嘗試檢查server2上存在的路徑時,它不起作用。它總是給出一個消息,該文件夾不存在。

請注意Server2沒有安裝IIS。 我正在從安裝了IIS的server1運行代碼。

Form.asp

<FORM method="post" encType="multipart/form-data" action="Upload.asp" > 
    <INPUT type="File" name="File1"> 
    <INPUT type="Submit" value="Upload"> 
    </FORM> 

Upload.asp

<%dim fs 
set fs=Server.CreateObject("Scripting.FileSystemObject") 
'to check whether folder exist or not 
if fs.FolderExists("\\Servre1\temp")=true then 
    response.write("Folder exists!") 
else 
    response.write("Folder does not exist!") 
end if 
set fs=nothing%> 

上面的代碼,如果我想找到的文件夾是工作的罰款存在或不是同一臺服務器上,而不是工作服務器2.這就是爲什麼我嘗試使用Mapped網絡驅動器。它再次不起作用。

問題映射網絡驅動器沒有安裝IIS,所以寫在server1上的代碼可以用於server2嗎?

+3

檢查文件位置不需要IIS。 * *是必需的,但在server1上運行ASP頁的用戶帳戶可以訪問server2上的文件夾。您是否共享了Server2上的文件夾? –

+0

另外我會避免使用映射驅動器並使用[UNC](https://www.lifewire.com/unc-universal-naming-convention-818230)。 – Paul

+1

你是對的! @Dijkgraaf我發現這個問題,我沒有輸入用戶憑證,而在另一臺服務器上獲取文件夾。現在代碼工作正常。 – Hetavi

回答

0

我會設置映射到網絡驅動器的虛擬文件夾。這樣,您不需要更改任何實際代碼,只需爲每個Web服務器設置虛擬目錄即可。

+0

我已經嘗試使用虛擬文件夾選項also.It也工作正常,沒有映射網絡驅動器也工作正常。 – Hetavi

0
Below mentioned code is working fine now! 

<% 

ServerShare = "\\Server1\TEMP\" 
UserName = "domain\username" 
Password = "password" 

Set NetworkObject = CreateObject("WScript.Network") 
Set fs = CreateObject("Scripting.FileSystemObject") 

'Z: is the name of network drive which you try to access 
NetworkObject.MapNetworkDrive "Z:", ServerShare, False, UserName, Password 

if fs.FolderExists("\Server1\TEMP\")=true then 
    response.write("Folder exists!") 
else 

set f=fs.CreateFolder("\Server1\TEMP\temp23") 
response.write("Folder does not exist!") 
end if 
set fs=nothing 

Set NetworkObject = Nothing 
%> 
相關問題