日期:2014-05-18  浏览次数:20522 次

Image控件的ImageUrl设置为本地磁盘路径,图片不显示问题
C# code

<asp:Image ID="Image1" runat="server" ImageUrl="D:\我的文档\图片\236c5227e712c394.jpg" />



直接浏览,图片显示不了。



这是个什么原因呢?



------解决方案--------------------
这个肯定不行的。
你图片放在网站的images目录下
那么 src="images/aaa.jpg" 这样就行
注意下相对路径和绝对路径的表示方法,具体用法可以谷歌 百度都可查
------解决方案--------------------
探讨
我也知道相对路径肯定是正确的,就是想知道为什么磁盘绝对路径为什么不可以呢。权限不够?

------解决方案--------------------
路径包含中文字符,换成英文路径就行的,你在c:\下放一个图片试试。
------解决方案--------------------
相对路径和绝对路径的问题 可能程序只能解析内部的。要换成数据库就得全路径了
------解决方案--------------------
本地访问要加file:///

<asp:Image ID="Image1" runat="server" ImageUrl="file:///D:\我的文档\图片\236c5227e712c394.jpg" />
------解决方案--------------------
参考MSDN:http://msdn.microsoft.com/zh-cn/library/ms178116.aspx

将物理文件路径(例如 C:\Website\MyApplication)硬编码到应用程序中并不是很好的做法,因为如果移动或部署应用程序,将会更改这些路径。
------解决方案--------------------
asp.net你用真实路径显示了图片,那我在页面上对图片点击属性,你的物理路径一出来,服务器的安全性???
------解决方案--------------------
10#链接里面特意标明了

 注意
不应将物理文件路径发送到客户端,因为它们可能会被恶意用户用来获取有关您的应用程序的信息。 
 

------解决方案--------------------
文件夹是否只读?
权限设置为everyone
------解决方案--------------------
弄成英文的可以
因为中文的话当你浏览的时候那些文字,空格...或被编码掉,你浏览后看源代码后就知道
<asp:Image ID="Image1" runat="server" ImageUrl="D:\aa\bb\1.jpg" />
------解决方案--------------------


要放在项目目录下。。
------解决方案--------------------
探讨
确实跟中英文无关

页面运行源码:

HTML code

<img id="Image1" src="D:\\236c5227e712c394.jpg" style="border-width:0px;" />





引用:

弄成英文的可以
因为中文的话当你浏览的时候那些文字,空格...或被编码掉,你浏览后看源……

------解决方案--------------------
何必一定要弄明白呢。。。
如果你真要引用项目之外的图片
你可以通过IIS中在应用下创建虚拟目录指向图片文件夹就可以了,当然用法还是相对路径