Загрузить файлы в другой виртуальный каталог - PullRequest
0 голосов
/ 18 января 2012

У меня есть два веб-приложения, размещенные на разных серверах. Например,одно - основное приложение, а другое - приложение филиала.В приложении ветвления пользователь будет загружать свои файлы, но мы хотим сохранить все загруженные файлы в главном виртуальном каталоге приложения.

Чтобы мы указали путь к виртуальному каталогу основного приложения при загрузке файлов. Но мы получили сообщение об ошибкекак "Неверный каталог" и не может загрузить.Есть ли способ загрузить файлы из одного приложения в другое напрямую?Мы используем нормальный контроль загрузки html-файлов в asp.net и visual studio 2008.

Code Sample : 
main application virtual directory "http://10.10.10.1/mainapp/uploadedfiles/" 
branch application virtual directory "http://10.10.10.2/branchapp/"

HttpPostedFile postedFile;
string saveFile = Path.Combine("http://10.10.10.1/mainapp/uploadedfiles/", "File1.pdf");
postedFile.SaveAs(saveFile);

Пожалуйста, укажите мне правильный путь, и я действительно оценил его.

Спасибо.

С наилучшими пожеланиями,

Чонг

Ответы [ 2 ]

2 голосов
/ 18 января 2012

В элементе управления FileUpload метод FileUpload.SaveAs (путь) принимает физический путь, а не виртуальный путь.Поэтому, если у вас есть виртуальный путь, вам нужно будет использовать метод Server.MapPath, чтобы преобразовать его в физический путь.Используя ваш пример, вы можете изменить последнюю строку вашего кода на:

postsFile.SaveAs (Server.MapPath (saveFile))

Кроме того, вам необходимо убедиться, чтоучетная запись, под которой работает ASP.Net, имеет разрешения на запись ACL в физический каталог.

1 голос
/ 18 января 2012

Я думаю, что вы можете совместно использовать каталог и гарантировать, что оба приложения могут получить к нему доступ, потому что два приложения находятся на разных серверах, путь к каталогу может быть примерно таким: \ serverA \ Files \, а URL этого каталога:1001 *http://localhost/files. вы можете сохранять файлы на других серверах по относительному пути, если у вас есть разрешение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...