【问题标题】:Load Images on webPage在网页上加载图像
【发布时间】:2012-11-29 03:56:11
【问题描述】:

我试图在<asp:image> 控件上加载图像。

问题是图像的路径保存在数据库中,并且某些图像名称包含空格。例如“图像名称编号 2.jpg”。

当我为 asp 控件设置 ImageUrl 属性时,它可以毫无问题地分配,但是在 html 中加载时,url 显示如下:

"C:\..\..\Image%20name%20number%202.jpg" 

因为那些“%20”找不到图片所以不会显示。

我能做些什么来解决这个问题?

【问题讨论】:

  • %20 代表 URL 中的空格...你不能删除图片名称中的空格吗?
  • 最好的办法肯定是重命名图像。用下划线或连字符替换空格。不过,您不应该引用计算机上 C 盘中的图像。
  • 不,我正在为一个已经存在于桌面的系统做网页,如果我在那里改变一些东西,桌面系统会崩溃

标签: c# asp.net html image


【解决方案1】:

%20 部分实际上是空格字符。您可以通过在 javascript 中将 URL 传递给 decodeURI() 来轻松删除它:

//fileName = "C:....\Image%20name%20number%202.jpg"
var fileName = decodeURI( fileName );
//fileName = "C:....\Image name number 2.jpg"

您可以在此处阅读更多信息:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/decodeURI

decodeURI() 的反义词是encodeURI():

//fileName = "C:....\Image name number 2.jpg"
var fileName = encodeURI( fileName );
//fileName = "C:....\Image%20name%20number%202.jpg"

您可以在此处阅读更多信息:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI

【讨论】:

    【解决方案2】:

    只要将字符串表示为 URI,%20 就会替换 space。
    这些%20s 应该不会给您带来问题,请检查您的路径。

    有关这方面的更多信息,请查看 URL 编码和解码: http://msdn.microsoft.com/en-us/library/zttxte6w.aspx http://msdn.microsoft.com/en-us/library/6196h3wt.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 2014-01-06
      相关资源
      最近更新 更多