一个程序是公司的后台,项目名为:AutoWebSite ,我在里边添加后台页面;
另一个程序是我做的前台,项目名为:WxCyry,我通过后台添加在前台显示。
现在出现的问题是:我在页面上图片可以正常显示,
图片路径:http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可在IIS 上不能正常显示:
图片路径:http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
我知道是我的图片路径问题,可我不知道正确的图片路径该怎么写,高手指导?
下边是我的图片径:
<asp:Repeater ID="repeaterCarImg" runat="server">
<ItemTemplate>
<a href="<%# "http://www.auto369.com/hangban/NewsDetils.aspx?id="+Eval("id")%>" target="_blank">
<%--<img src='<%# Page.ResolveUrl("~/") + "images/"+
(ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)Container.DataItem)["img"]) %>' width="240" height="160"/>--%>
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("~/") +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
</a>
</ItemTemplate>
</asp:Repeater>
39 个解决方案
#1
先写个静态的img标记,用vs自带的可视化界面找到图片路径,然后记下来
比如是 ../images/1.jpg
绑定的时候就 src='../<%# Eval("img")%>'
比如是 ../images/1.jpg
绑定的时候就 src='../<%# Eval("img")%>'
#2
关键这不是一个程序的呀?我的程序是WxCyry,图片是通过AutoWebSite程序传过来的呀?
#3
用相对路径/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg在第一个项目里面就这样写啊
第二个也一样的道理啊
第二个也一样的道理啊
#4
学习。
#5
我想知道的是
http://localhost:81 /AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
这个路径里确实有图片吗
http://localhost:81 /AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
这个路径里确实有图片吗
#6
页面图片路径(正常显示):
http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可是在IIS里边图片路径(不显示):
http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
#7
这个是IIS上的图片路径,不显示图片。
下边这个是页面的路径,显示图片:http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
#8
郁闷 你都知道2个路径不一样
页面图片路径(正常显示):
http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可是在IIS里边图片路径(不显示):
http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
还有什么好问的????
页面图片路径(正常显示):
http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可是在IIS里边图片路径(不显示):
http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
还有什么好问的????
#9
可在IIS上出现了http://localhost:81/AutoWebSite/ WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
不知道怎么改呀?
#10
http://localhost:81/AutoWebSite/
WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
//这个地方怎么多出了一个文件夹?难道是根目录?VS2008以后就出现这种问题,工具里的指定根目录与IIS的识别有一定区别的,特别是对于"/"这个符号
//这个地方怎么多出了一个文件夹?难道是根目录?VS2008以后就出现这种问题,工具里的指定根目录与IIS的识别有一定区别的,特别是对于"/"这个符号
#11
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("~/") +
这里改成这样试下:
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("../../") +
+ Page.ResolveUrl("~/") +
这里改成这样试下:
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("../../") +
#12
这个是我建IIS的名字,页面上显示,可在IIS就会多个这个,楼上知道怎么解决吗?
#13
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl ("../../)"+
无法使用前导 .. 在*目录上退出。
#14
你IIS指定的是哪个项目?
#15
WxCyry 这个项目
#16
你好,知道怎么解决这个问题吗? WxCyry就是根目录!
#17
那你正常显示的是说在本地运行,并且也是运行WxCyry这个项目?
#18
楼主你说的正确,我第一次做网站,不知道这怎么弄,帮个忙好吗?
#19
楼上你说的正确,我就是在本地运行的,运行 WxCyry这个项目,图片就显示不出来,多个根路径, WxCyry,不知道怎么回事,楼上帮个忙!
#20
因为图片在你的WxCyry项目里,肯定会有一个WxCyry的目录,
去掉 Page.ResolveUrl("~/")这个试试?
你的WxCyry这个里边有图片的吧?那你就写
<img src='../UpLoad/FCKEditor/image/+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("~/") +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
去掉 Page.ResolveUrl("~/")这个试试?
你的WxCyry这个里边有图片的吧?那你就写
<img src='../UpLoad/FCKEditor/image/+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
#21
我WxCyry项目没有图片,又不对的,因为通过后台上传图片名称就变成当前日期的名称了,比如“2011-09-08-16-11-47.jpg”,我试试看!
#22
楼上不对呀?
#23
建议不要用这种方法写,你把端口都写死了,以后万一更换服务器的端口岂不是很麻烦的。
建议使用 Server.MapPath 来获取项目的地址
建议使用 Server.MapPath 来获取项目的地址
#24
关键是我现在的这个问题我都不知道怎么解决了,求助?
#25
你先断点测试一下
string serverMapPath = Server.MapPath("~/");
serverMapPath 输出为什么?
贴一下
#26
你的项目里边没有图片的话,你调用的是哪里的图片?是AutoWebSite 里的吗?那你就直接引用图片的地址就可以了。
你都通过后台上传了,那么你的图片在哪里存放着?你就从哪里去,写成相对路径就好了。
<img src='./UpLoad/FCKEditor/image/<%#数据库读取的图片 %>' alt="" />
’./UpLoad/FCKEditor/image/‘upload前边的点说明
"."--代表目前所在的目录。
".."--代表上一层目录。
"/"--代表根目录。
#27
我试了怎么还不行
#28
关键是我是图片是通过后台随便上传的,我是通过我的程序取到另一个图片的路径,这个在src="Server.MapPath("~/")"直接写吗?
#29
迷迷糊糊,什么都没看清
#30
你在AutoWebSite、WxCyry项目中分别 新建一个xxx.aspx 在后台xxxx.cs 里面写一下Server.MapPath("~/") 然后断点调试一下,看看输出的绝对地址是什么。
#31
是这样子的,我的页面是通过另一个程序获取的图片路径,可在IIS上就会多一个我的根路径出来,不知道怎么解决?
可在IIS上出现了http://localhost:81/AutoWebSite/ WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
#32
http://localhost:81/AutoWebSite/
WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
我怎样才能把根路径去掉呢?本地正常,IIS就出现根路径,很愚昧?
我怎样才能把根路径去掉呢?本地正常,IIS就出现根路径,很愚昧?
#33
好,我试一下?
#34
图片不在WxCyry这个项目里面而是在AutoWebSite这个项目里面是吧
那你就不需要加Page.ResolveUrl("~/")
直接就是
<img src='<%# "http://localhost:81/AutoWebSite" +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
那你就不需要加Page.ResolveUrl("~/")
直接就是
<img src='<%# "http://localhost:81/AutoWebSite" +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
#35
一般用地址的形式比较好,图片放在哪里就去哪里取出来。
#36
我是直接新建了两个页面,分别在
protected void Page_Load(object sender, EventArgs e)
{
string serverMapPath = Server.MapPath("~/") + "UpLoad/FCKEditor/image/" + (ChinaSoft.Utility.AppConfig.UploadFilePath);
}
WxCyry 路径是:D:\程序\WxCyry\WxCyry\UpLoad/FCKEditor/image/
AutoWebSite 径是:D:\程序\AutoWebSite\AutoWebSite\UpLoad/FCKEditor/image/~/Upload/FCKEditor/image/
#37
大哥,你是对的,谢谢大家对我的帮助?我给大家结分!
#38
呵呵,你现在的IIS配置网站的虚拟根目录指到WxCyry,也就是说,IIS会自动地把http://localhost:81/AutoWebSite/WxCyry/作为了根目录
但实际上你的VS工具里因为包括有AutoWebSite和WxCyry两个项目,并且你现在感觉是把WxCyry以子项目的身份添加到AutoWebSite大项目里了,有点像父子关系的那种。
因为WxCyry只是子项目,所以VS工具会自动控制默认地把父级项目AutoWebSite作为启动项,所以你在VS上运行时,VS自带的内嵌IIS会默认地把http://localhost:81/AutoWebSite/作为根目录
这就造成了两边不一至
要命的是你上传图片的功能是使用了父级项目AutoWebSite来上传,也就是说,上传图片时,是以http://localhost:81/AutoWebSite/作为根目录的,
但是显示图片的时候,却又想把子项目http://localhost:81/AutoWebSite/WxCyry/作为根目录,所以造成不一至
//我只在同一解决方案里添加多个项目,但一个项目里添加子项目,没有试过,当然,可能上面我分析不对也不好主说
//
解决的办法:
1,就是两个项目整合为一个项目,这样就永远只有一个根目录,但这样可能会花很大的时间去修改移动;
2,实际上web.config用户配置文件,是允许继承关系的,也就是说,你可以把在AutoWebSite里有一个,同样再放一个在子文件夹WxCyry,这时候,运行所有WxCyry文件夹下的页面,都是最终以该文件夹里的web.config为准,当然,web.config的继承关系需要注意一下;
3,既然VS工具默认AutoWebSite文件夹为根目录,那么,你可以尝试把IIS的默认根目录也指向AutoWebSite文件,而不是AutoWebSite文件夹的子文件夹WxCyry
//如果还不行,那我也只能帮你顶贴子了
#39
学习啦~~碰到了个Winform下的目录问题
#1
先写个静态的img标记,用vs自带的可视化界面找到图片路径,然后记下来
比如是 ../images/1.jpg
绑定的时候就 src='../<%# Eval("img")%>'
比如是 ../images/1.jpg
绑定的时候就 src='../<%# Eval("img")%>'
#2
关键这不是一个程序的呀?我的程序是WxCyry,图片是通过AutoWebSite程序传过来的呀?
#3
用相对路径/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg在第一个项目里面就这样写啊
第二个也一样的道理啊
第二个也一样的道理啊
#4
学习。
#5
我想知道的是
http://localhost:81 /AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
这个路径里确实有图片吗
http://localhost:81 /AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
这个路径里确实有图片吗
#6
页面图片路径(正常显示):
http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可是在IIS里边图片路径(不显示):
http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
#7
这个是IIS上的图片路径,不显示图片。
下边这个是页面的路径,显示图片:http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
#8
郁闷 你都知道2个路径不一样
页面图片路径(正常显示):
http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可是在IIS里边图片路径(不显示):
http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
还有什么好问的????
页面图片路径(正常显示):
http://localhost:81/AutoWebSite/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
可是在IIS里边图片路径(不显示):
http://localhost:81/AutoWebSite/WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
还有什么好问的????
#9
可在IIS上出现了http://localhost:81/AutoWebSite/ WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
不知道怎么改呀?
#10
http://localhost:81/AutoWebSite/
WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
//这个地方怎么多出了一个文件夹?难道是根目录?VS2008以后就出现这种问题,工具里的指定根目录与IIS的识别有一定区别的,特别是对于"/"这个符号
//这个地方怎么多出了一个文件夹?难道是根目录?VS2008以后就出现这种问题,工具里的指定根目录与IIS的识别有一定区别的,特别是对于"/"这个符号
#11
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("~/") +
这里改成这样试下:
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("../../") +
+ Page.ResolveUrl("~/") +
这里改成这样试下:
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("../../") +
#12
这个是我建IIS的名字,页面上显示,可在IIS就会多个这个,楼上知道怎么解决吗?
#13
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl ("../../)"+
无法使用前导 .. 在*目录上退出。
#14
你IIS指定的是哪个项目?
#15
WxCyry 这个项目
#16
你好,知道怎么解决这个问题吗? WxCyry就是根目录!
#17
那你正常显示的是说在本地运行,并且也是运行WxCyry这个项目?
#18
楼主你说的正确,我第一次做网站,不知道这怎么弄,帮个忙好吗?
#19
楼上你说的正确,我就是在本地运行的,运行 WxCyry这个项目,图片就显示不出来,多个根路径, WxCyry,不知道怎么回事,楼上帮个忙!
#20
因为图片在你的WxCyry项目里,肯定会有一个WxCyry的目录,
去掉 Page.ResolveUrl("~/")这个试试?
你的WxCyry这个里边有图片的吧?那你就写
<img src='../UpLoad/FCKEditor/image/+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
<img src='<%# "http://localhost:81/AutoWebSite"
+ Page.ResolveUrl("~/") +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
去掉 Page.ResolveUrl("~/")这个试试?
你的WxCyry这个里边有图片的吧?那你就写
<img src='../UpLoad/FCKEditor/image/+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
#21
我WxCyry项目没有图片,又不对的,因为通过后台上传图片名称就变成当前日期的名称了,比如“2011-09-08-16-11-47.jpg”,我试试看!
#22
楼上不对呀?
#23
建议不要用这种方法写,你把端口都写死了,以后万一更换服务器的端口岂不是很麻烦的。
建议使用 Server.MapPath 来获取项目的地址
建议使用 Server.MapPath 来获取项目的地址
#24
关键是我现在的这个问题我都不知道怎么解决了,求助?
#25
你先断点测试一下
string serverMapPath = Server.MapPath("~/");
serverMapPath 输出为什么?
贴一下
#26
你的项目里边没有图片的话,你调用的是哪里的图片?是AutoWebSite 里的吗?那你就直接引用图片的地址就可以了。
你都通过后台上传了,那么你的图片在哪里存放着?你就从哪里去,写成相对路径就好了。
<img src='./UpLoad/FCKEditor/image/<%#数据库读取的图片 %>' alt="" />
’./UpLoad/FCKEditor/image/‘upload前边的点说明
"."--代表目前所在的目录。
".."--代表上一层目录。
"/"--代表根目录。
#27
我试了怎么还不行
#28
关键是我是图片是通过后台随便上传的,我是通过我的程序取到另一个图片的路径,这个在src="Server.MapPath("~/")"直接写吗?
#29
迷迷糊糊,什么都没看清
#30
你在AutoWebSite、WxCyry项目中分别 新建一个xxx.aspx 在后台xxxx.cs 里面写一下Server.MapPath("~/") 然后断点调试一下,看看输出的绝对地址是什么。
#31
是这样子的,我的页面是通过另一个程序获取的图片路径,可在IIS上就会多一个我的根路径出来,不知道怎么解决?
可在IIS上出现了http://localhost:81/AutoWebSite/ WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
#32
http://localhost:81/AutoWebSite/
WxCyry/UpLoad/FCKEditor/image/2011-08-23-16-23-27.jpg
我怎样才能把根路径去掉呢?本地正常,IIS就出现根路径,很愚昧?
我怎样才能把根路径去掉呢?本地正常,IIS就出现根路径,很愚昧?
#33
好,我试一下?
#34
图片不在WxCyry这个项目里面而是在AutoWebSite这个项目里面是吧
那你就不需要加Page.ResolveUrl("~/")
直接就是
<img src='<%# "http://localhost:81/AutoWebSite" +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
那你就不需要加Page.ResolveUrl("~/")
直接就是
<img src='<%# "http://localhost:81/AutoWebSite" +
"UpLoad/FCKEditor/image/"+ (ChinaSoft.Utility.AppConfig.UploadFilePath + ((System.Data.DataRowView)
Container.DataItem)["img"]) %>' width="240" height="160"/>
#35
一般用地址的形式比较好,图片放在哪里就去哪里取出来。
#36
我是直接新建了两个页面,分别在
protected void Page_Load(object sender, EventArgs e)
{
string serverMapPath = Server.MapPath("~/") + "UpLoad/FCKEditor/image/" + (ChinaSoft.Utility.AppConfig.UploadFilePath);
}
WxCyry 路径是:D:\程序\WxCyry\WxCyry\UpLoad/FCKEditor/image/
AutoWebSite 径是:D:\程序\AutoWebSite\AutoWebSite\UpLoad/FCKEditor/image/~/Upload/FCKEditor/image/
#37
大哥,你是对的,谢谢大家对我的帮助?我给大家结分!
#38
呵呵,你现在的IIS配置网站的虚拟根目录指到WxCyry,也就是说,IIS会自动地把http://localhost:81/AutoWebSite/WxCyry/作为了根目录
但实际上你的VS工具里因为包括有AutoWebSite和WxCyry两个项目,并且你现在感觉是把WxCyry以子项目的身份添加到AutoWebSite大项目里了,有点像父子关系的那种。
因为WxCyry只是子项目,所以VS工具会自动控制默认地把父级项目AutoWebSite作为启动项,所以你在VS上运行时,VS自带的内嵌IIS会默认地把http://localhost:81/AutoWebSite/作为根目录
这就造成了两边不一至
要命的是你上传图片的功能是使用了父级项目AutoWebSite来上传,也就是说,上传图片时,是以http://localhost:81/AutoWebSite/作为根目录的,
但是显示图片的时候,却又想把子项目http://localhost:81/AutoWebSite/WxCyry/作为根目录,所以造成不一至
//我只在同一解决方案里添加多个项目,但一个项目里添加子项目,没有试过,当然,可能上面我分析不对也不好主说
//
解决的办法:
1,就是两个项目整合为一个项目,这样就永远只有一个根目录,但这样可能会花很大的时间去修改移动;
2,实际上web.config用户配置文件,是允许继承关系的,也就是说,你可以把在AutoWebSite里有一个,同样再放一个在子文件夹WxCyry,这时候,运行所有WxCyry文件夹下的页面,都是最终以该文件夹里的web.config为准,当然,web.config的继承关系需要注意一下;
3,既然VS工具默认AutoWebSite文件夹为根目录,那么,你可以尝试把IIS的默认根目录也指向AutoWebSite文件,而不是AutoWebSite文件夹的子文件夹WxCyry
//如果还不行,那我也只能帮你顶贴子了
#39
学习啦~~碰到了个Winform下的目录问题