我试图在<asp:image>
控件上加载图片。
问题是图像的路径保存在数据库中,而某些图像名称包含空格。例如“图像名称编号2.jpg”。
当我为asp控件设置ImageUrl属性时,可以毫无困难地分配它,但是当加载到html中时,url显示如下:
"C:\..\..\Image%20name%20number%202.jpg"
由于那些“%20”,它找不到图片所以它不会显示。
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
%20
部分实际上是空格字符。您可以通过将URL传递到javascript中的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
答案 1 :(得分:0)
每当字符串表示为URI时,%20
都会替换space
这些%20
不应该导致您出现问题,请检查您的路径。
有关此网址编码和解码的详情,请参阅: http://msdn.microsoft.com/en-us/library/zttxte6w.aspx http://msdn.microsoft.com/en-us/library/6196h3wt.aspx