GridView怎样才能显示出照片?

照片在磁盘上的存储位置是D:\Others\Items\image\P0000001.jpg,在SqlServer2005中相应表中存储为P0000001.jpg(对应的... 照片在磁盘上的存储位置是D:\Others\Items\image\ P0000001.jpg,在Sql Server 2005中相应表中存储为P0000001.jpg(对应的字段名为Photo),为什么在C#中使用下列两种方法都显示不出照片,而只能显示出一个红色的小叉叉(利用Gridview绑定):
1.<asp:ImageField HeaderText="照片" DataImageUrlField="Photo" DataImageUrlFormatString="~/image/{0}.jpg">
</asp:ImageField>

2.<asp:TemplateField HeaderText="Photo" SortExpression="Photo">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Photo") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Photo","../../image/{0}") %>' />
</ItemTemplate>
</asp:TemplateField>
问题在哪里?该怎样修改?敬请高手指点!谢谢!
展开
 我来答
平梦醉神风1I
2011-07-28 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1038万
展开全部
你的网站在那个目录?按常理图片的目录必须在网站的目录里

假设你的网站在 D:\webSiteDemo
图盘目录在 D:\websiteDemo\images
并且数据库里只存放了图片的文件名,如P0000001.jpg

那么无论你使用的那种方式,使用 '<%# Eval("Photo","~/image/{0}") %>' 都应该能看到

如果还是看不到,鼠标右键显示红叉的图片,属性,看路径是什么,和真实的图片路径做比较就知道错在哪里了
carlshe
2011-07-28 · TA获得超过321个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:397万
展开全部
ImageUrl必须指向服务器端的一个aspx或者ashx, 然后在这个aspx或ashx中用Response把对应的文件的内容发送到客户端

public static void SendFileToClient(HttpResponse Response, string AsFileName, string FileFullPath, string ContentType)
{
if (String.IsNullOrEmpty(ContentType))
{
ContentType = CommonTools.GetMimeType(AsFileName);
}
Response.ContentType = ContentType;

if (!string.IsNullOrEmpty(AsFileName))
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + HttpUtility.UrlEncode(AsFileName) + "\"");
else
Response.AddHeader("Content-Disposition", "attachment; filename=TMPFile.tmp");

if (!System.IO.File.Exists(FileFullPath))
return;

System.IO.FileStream fs = new System.IO.FileStream(FileFullPath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);

try
{
int fileLength = (int)fs.Length;
int startIndex = 0;
byte[] data = new byte[BufferSize];
while (startIndex + BufferSize < fileLength)
{
fs.Read(data, 0, data.Length);
Response.BinaryWrite(data);
startIndex += data.Length;
}
byte[] lastChunk = new byte[fileLength - startIndex];
fs.Read(lastChunk, 0, fileLength - startIndex);
Response.BinaryWrite(lastChunk);
}
catch (Exception)
{
}
finally
{
fs.Close();
fs.Dispose();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ruixuebing
2011-07-31
知道答主
回答量:31
采纳率:0%
帮助的人:23.1万
展开全部
显示照片直接img标记就好了,数据绑定的时候直接把图片url绑定到img标记上!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不可执迷曹先生
2011-07-28 · 超过16用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:53.4万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangzhilong52
2011-07-28 · TA获得超过384个赞
知道小有建树答主
回答量:622
采纳率:0%
帮助的人:340万
展开全部
a
追问
谢谢!我回去再试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式