ASP.Net MVC 3 Изображение с другой сборки - PullRequest
1 голос
/ 25 февраля 2012

У меня есть сборка, в которой хранятся все мои картинки.

Как я могу сделать один снимок этой сборки в моей сборке MVC3 как img?

img src="@Url.Content("?Link to other Assembly?")"

Ответы [ 3 ]

0 голосов
/ 25 февраля 2012

Я должен был сделать то же самое. Я просто добавил контроллер File в свою сборку, который обслуживает файл как FileStreamResult. Затем URL становится примерно таким:

Url.Content("file/embedded/MyAssembly/Folder1/Folder2/image.jpg")
0 голосов
/ 26 февраля 2012

Спасибо, отлично работает.

    public void ProcessRequest(HttpContext context)
    {
        String filename = context.Request.QueryString["filename"];

        if (String.IsNullOrEmpty(filename))
            return;

        var bitmap = this.GetImage(filename);

        if (bitmap == null)
            return;

        try
        {
            using (MemoryStream ms = new MemoryStream())
            {
                bitmap.Save(ms, bitmap.RawFormat);
                ms.WriteTo(context.Response.OutputStream);
            }
        }
        catch
        {
            return;
        }
    }
    //--------------------------------------------------------------------------------
0 голосов
/ 25 февраля 2012

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


Создайте веб-обработчик ASP.NET (файл .ashx), который обрабатывает ваше изображение, передайте идентификатор этому обработчику изображения, который либо отобразит изображение

Вот краткое руководство по файлам ASHX: http://www.dotnetperls.com/ashx

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