【问题标题】:How do i URL rewrite an image properly? C# ASP.NET如何正确 URL 重写图像? C# ASP.NET
【发布时间】:2010-11-04 23:17:14
【问题描述】:

我尝试了几种方法来重写 URL。图像 mime 被破坏的第一种方式被认为是一个八位字节流,它不允许我在浏览器中查看图像(除非它使用 img src)。第二种方法我不相信它有效。 Firefox 显示了 img,但表示长度为 0(我认为它只在我的缓存中有效)。

如何正确地将图像 /abc/id/title.png 重写到内部位置 /static/user/name/id.png

【问题讨论】:

  • @Daniel A. White:我不确定。我通过 global.asax 调用我的 C# 代码。我不知道 Webforms 或 MVC 是什么。
  • 您能否发布代码/配置以显示您当前如何尝试进行 URL 重写?
  • Webforms 是一个标准的 asp.net Web 应用程序。如果它是 ASP.NET MVC,这意味着你去 ASP.NET 并下载了 MVC 框架(除非你在一个非常新的 SP 上或使用 VS10?)。在选择要创建的网站类型时,它们是单独的模板。你的网址是说 {domain}/webpage.ASPX 还是说 {domain}/webpage ??
  • 你只是一遍又一遍地重复同一个问题。你应该展示你到目前为止的进步,否则你只会一遍又一遍地得到相同的答案。
  • 安德鲁·西默:msvs9/2008。它说 localhost:port/default.aspx 听起来我正在使用 webforms 但我所拥有的只是 default.aspx 来打印一些调试信息,我重写并处理来自的请求的lazy.aspx 和重写路径的 global.asax我习惯了lazy.aspx。我实际上并没有使用任何形式或任何东西。我的 DLL 中的所有 C# 代码

标签: c# asp.net mime url-rewriting


【解决方案1】:

在 ASP.NET 中,我可能会这样做:

Response.Clear();
Response.ContentType = profile.AvatarMimeType;
Response.BinaryWrite(profile.Avatar.ToArray());

其中 profile.AvatarMimeType 是适合 gif、jpeg 或 png 的 mime 类型。

其中 profile.Avatar.ToArray() 是来自数据库的二进制内容,作为数据数组发送出去!

【讨论】:

  • 我没有在 ASP.NET MVC 中尝试过这个,但我认为它应该仍然可以工作,因为 URL 只是将您带到执行此代码的资源。
猜你喜欢
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 2012-07-04
  • 2010-09-20
  • 2013-12-16
  • 2011-10-23
  • 2012-03-18
  • 1970-01-01
相关资源
最近更新 更多