Как загрузить файлы из ASP.NET в другое веб-приложение

StackOverflow https://stackoverflow.com/questions/148322

  •  02-07-2019
  •  | 
  •  

Вопрос

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

  • Один сервер, на котором размещены два веб-приложения в IIS — оба ASP.NET.
  • Одно из приложений используется для администрирования другого + еще куча всего
  • Мне нужно загрузить файл из этого приложения администратора, сохранить путь в БД через DAL, а затем получить доступ к файлу из другого веб-приложения, которое предоставит файл для загрузки.
  • Я храню файлы на диске, только путь в БД

Итак, где и как я могу загрузить файл, чтобы к нему можно было получить доступ из обоих веб-приложений?Стоит ли пользоваться услугами или есть какой-то другой способ?
Вот несколько связанных вопросов, которые я нашел, но не думаю, что они охватывают мой конкретный сценарий:
Как обрабатывать загрузку файлов на выделенный сервер изображений?
Как загрузить файл в службу WCF?

Это было полезно?

Решение

Поскольку оба приложения находятся на одном сервере, это должно быть просто:

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

Другие советы

Вы можете настроить новый виртуальный каталог в каждом приложении, который указывает на ту же папку на вашем сервере, в которую вы будете загружать файлы.Допустим, вы создали новую папку на компьютере C:диск под названием «загрузки», т.е.с:\загрузки.Затем в настройке IIS создается новый виртуальный каталог под названием «uploads», который указывает на c:\uploads для каждого веб-приложения.Это должно предоставить обоим сайтам доступ к файлам.

Могу я спросить, почему вы не сохраняете файл в БД?Это значительно облегчит его передачу.

Предполагая, что путь к файлу, который вы помещаете в БД, доступен из веб-приложения, не являющегося администратором (что, похоже, так и есть), файлу просто нужно попасть куда-то, к чему оба приложения имеют права доступа.Только приложение администратора должно иметь доступ для записи.

Вы можете настроить учетную запись пользователя, которую будет запускать веб-сайт IIS, в разделе «Свойства веб-сайта» > «Безопасность каталога» в консоли управления IIS.Затем просто убедитесь, что установлены соответствующие разрешения для каталога.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top