2016-11-08 7 views
0

Требуется ли, чтобы сервер подключенного сетевого диска должен был установить IIS для извлечения папки с использованием классического asp?Настраиваемый сетевой диск должен иметь IIS для поиска папки с другого сервера?

Код, который я написал, работает нормально, когда я пытаюсь проверить папку, существует или нет на сервере1. Но когда я пытаюсь проверить путь на сервере2 или нет, он не работает. Он всегда дает сообщение о том, что папка не существует.

Обратите внимание, что сервер 2 не установлен IIS. Я запускаю код с сервера1, где установлен IIS.

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, поэтому код, написанный на сервере1, может работать на сервере2?

+3

Проверка местоположения файла не требует IIS. Что * * требуется, но является то, что учетная запись пользователя, на которой запущена ваша страница ASP на сервере1, имеет доступ к папке на сервере2. Вы поделились папкой на сервере Server2? –

+0

Также я бы избегал сопоставленных дисков и вместо этого использовал [UNC] (https://www.lifewire.com/unc-universal-naming-convention-818230). – Paul

+1

Вы правы! @Dijkgraaf Я нашел проблему, я не вводил учетные данные пользователя при извлечении папки на другом сервере. Теперь код работает нормально. – Hetavi

ответ

0

Я бы установил виртуальную папку, которая отображается на сетевой диск. таким образом, вам не нужно изменять какой-либо фактический код, вам просто нужно установить виртуальный каталог на место для каждого веб-сервера.

+0

Я также попытался использовать опцию виртуальной папки. Он также отлично работает и без отображения сетевого диска также работает отлично. – 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 
%>