Asp.net mvc MVC-从“加载”页面上的图像;缩短的;我的域上的代码(就像Bit.ly对链接所做的那样)
其中example.com是我的站点,Show是图像控制器中的一个方法,唯一id CwYDBw8LDww是数据库中的一个键,它将指向不同域上的其他URL,例如Google上的“托管”图像 这样做的原因是URL可能变得非常长和笨拙。我将网站内容存储为Markdown/HTML,并希望能够编写以下内容:Asp.net mvc MVC-从“加载”页面上的图像;缩短的;我的域上的代码(就像Bit.ly对链接所做的那样),asp.net-mvc,http,razor,url-shortener,Asp.net Mvc,Http,Razor,Url Shortener,其中example.com是我的站点,Show是图像控制器中的一个方法,唯一id CwYDBw8LDww是数据库中的一个键,它将指向不同域上的其他URL,例如Google上的“托管”图像 这样做的原因是URL可能变得非常长和笨拙。我将网站内容存储为Markdown/HTML,并希望能够编写以下内容: <p>Here is an image of a cat.</p> <img src="http://example.com/Image/Show/CwYDBw
<p>Here is an image of a cat.</p>
<img src="http://example.com/Image/Show/CwYDBw8LDww">
在内容已存储为
的地方,这里有一张猫的图像
等。我自己耐心地研究解决了它!我在图像控制器中添加了以下内容
public RedirectResult Show(string shortcode)
{
return Redirect(data.GetURL(shortcode));
}
其中GetURL()是我的数据访问层中的一个方法,它向数据库请求应用于短代码的“长”URL。(我会处理这样的情况,比如短代码在GetURL()
代码中不存在,所以Show()
假定它已经被赋予了一个有效的URL。)
这将返回302“临时重定向”HTTP响应,以将客户端重新指向“新”(在我的示例中为Google)URL
这有助于我获得所需的概念。我自己已经回答了这个问题,因为我现在已经开始工作了。我一直认为它是一个嵌入网页的“图像”,而不是“顶层”的页面重定向,即浏览器在地址栏中显示的页面等。一旦我后退一步,意识到HTTP请求实际上只是一个请求,无论响应的“类型”如何,我都解决了它。
@Html.Raw(@Model.ArticleContent)
public RedirectResult Show(string shortcode)
{
return Redirect(data.GetURL(shortcode));
}