Есть ли способ включить изображения вне моего проекта в ASP.NET MVC 5? - PullRequest
0 голосов
/ 21 января 2019

У меня есть проект, который написан с использованием C# поверх платформы ASP.NET MVC 5.

У меня есть изображения, расположенные на C:/web_images, которые я хочу сделать доступными из моего приложения. На мой взгляд, я хочу иметь возможность написать ~/images/abc.jpg, но мое приложение будет отображать изображение, расположенное на C:/web_images/abc.jpg.

В новой платформе ASP.NET Core то же самое можно сделать с помощью статических файлов (добавив следующее в метод Configure класса Startup.)

    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = blobFileProvider, //new PhysicalFileProvider("c:/web_images"),
        RequestPath = "/images"
    });

Как я могу создать этот виртуальный путь, используя ASP.NET MVC 5?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Первый вариант, который мне пришел в голову, - это использовать Owin и получить пакет nuget для обслуживания статических файлов, например, такой: Microsoft.Owin.StaticFiles .

Второй, более инвазивный подход - создать Symlink для данной папки: Учебное пособие по Symlink

Третий вариант: разместить на IIS и создать виртуальный каталог.

0 голосов
/ 21 января 2019

Пользовательский браузер не может получить прямой доступ к диску веб-сервера (c :).Лучший способ сделать это - создать .ashx, который может позволить пользователям (просмотрам сотни) загружать файлы.посмотреть пример:

<img src="~/ProcessImage.ashx?filename=image1.pgp"/>

Надеюсь, это поможет вам.

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