Перехват ссылок на файлы ASP.NET MVC

243
11 декабря 2017, 13:09

У меня есть legacy приложение windows, которое обращается к сайту для загрузки картинок, по ссылкам такого вида http://сдпп.рф/user_images/chat/5461fbe12552c.jpg . Этот сайт планируется выключить, т.к. мне нужен этот домен для будущей разработки сайта другой программы. Я собираюсь постепенно изучая ASP.NET написать новый сайт, но сейчас мне нужна заглушка которая обеспечит работу старых ссылок. Я написал такой код:

public class Users_imagesController : Controller
{
    public ActionResult Chat()
    {
        NameValueCollection name_value_collection = Request.Params;
        return View();
    }
}

И ссылки вида http://сдпп.рф/user_images/chat/5461fbe12552c стали попадать в этот метод, но стоит добавить к пути расширение файла (.jpg), сразу ошибка 404

Answer 1

Вы можете определить свой обработчик для картинок. Это пример обработчика.

public class UserInfoHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        /* Пример кода обработчика */            
        string result = "<p>Ваш IP: "+context.Request.UserHostAddress+"</p>";
        result+="<p>UserAgent: "+context.Request.UserAgent+"</p>";
        context.Response.Write(result);
    }
    public bool IsReusable
    {
        get { return false; }
    }
}

а вот так обработчик прописывается в конфиг файл.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--остальное содержимое-->
  <system.webServer>
    <handlers>
      <add name="MyHttpHandler" path="/handler/" verb="GET" type="LifeCycleApp.Handlers.UserInfoHandler"/>
    </handlers>
  </system.webServer>
</configuration>

В вашем случае в path надо будет указать "*.jpg"

Источник - https://metanit.com/sharp/mvc5/19.5.php

READ ALSO
C# Анимация фигуры. Передвижение по Canvas

C# Анимация фигуры. Передвижение по Canvas

Здравствуйте! Есть задача по анимации фигуры с изменением координатЕсть класс, в котором описана моя кастомная фигура, состоящая из двух...

883
Перевод оконных координат в мировые

Перевод оконных координат в мировые

Допустим у меня есть координата мышки относительно окна рендераИ зная масштаб матрицы и её смещение, надо найти координаты мышки относительно...

207
Прыжок в Unity3D

Прыжок в Unity3D

Я хочу сделать прыжок в Unity3D, но движение у меня реализовано через CharacterControllerКогда я добавляю Rigidbody к игроку, то игрока начинает колбасить

412
Распарсить json и получить результат

Распарсить json и получить результат

Здравствуйте, делаю get запрос

325