Как получить доступ к фотографии, загруженной в другой проект в том же решении - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть Решение под названием Компания, где у меня есть три проекта

Компания

| ---- Company.Data

| ---- Company.Intr anet

| ---- Company.Website

В Company.Intr anet проекте Я загружаю фото на сервер (и сохраняю его имя в базе данных). Можно получить доступ к загрузке файла из другого проекта (например. Company.Website )?

1 Ответ

0 голосов
/ 13 апреля 2020

Создайте каталог, в котором вы будете хранить файлы (я создаю словарь wwwroot, в этом словаре images и в этом словаре item )

** Компания

| ---- Company.Data

| ---- Company.Intr anet

| ---- Компания. Сайт

| ---- wwwroot

| ------- | -------- изображения

| ------- | -------- | -------- items

In Company.Intr anet edit Startup.cs

app.UseFileServer(new FileServerOptions()
  {
   FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), 
   "..\\wwwroot\\images\\items")), 
   RequestPath = new PathString("/files"),
   EnableDirectoryBrowsing = false // you make this true or false.
   }
);

Где "..\\wwwroot\\images\\items" - путь, куда будет загружена ваша фотография, а /files - это имя, которое вы будете использовать при обращении к фотография.

В вашем контроллере смените каталог, куда вы будете загружать файл

var fileName = Path.GetFileName(Photo.FileName);
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "..\\wwwroot\\images\\items", fileName);
    using (var fileSteam = new FileStream(filePath, FileMode.Create))
    {
      await Photo.CopyToAsync(fileSteam);
    }

Где "..\\wwwroot\\images\\items" - путь, куда будет загружаться ваша фотография -> тот же, который вы указали в Startup.cs файл


В Company.Website edit Startup.cs

app.UseFileServer(new FileServerOptions()
  {
   FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), 
   "..\\wwwroot\\images\\items")), 
   RequestPath = new PathString("/files"),
   EnableDirectoryBrowsing = false // you make this true or false.
   }
);

Где "..\\wwwroot\\images\\items" это путь, по которому ваша фотография будет загружена -> тот же, который вы указали в файле Startup.cs в Company.Intr anet project

Для просмотра изображения в Просмотреть код использования

<img src="@("/files/" + @item.Photo2)"/>

Где /files/ - ваше пользовательское имя, которое вы будете использовать при обращении к фотографии, а @item.Photo2 - имя вашего файла фотографии (я храню это в базе данных)

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