如何将图像URL设置为绝对物理路径
本文关键字:路径 设置 图像 URL | 更新日期: 2023-09-27 17:52:12
我在网格视图中有图像按钮控件,我的客户需要在另一个页面中输入文件夹的路径,我将此路径存储在数据库中,我需要,因为客户存储在外部硬盘中的图像不能从硬盘传输图像到网站图像,因为它有一个巨大的尺寸
我的图像表包含image-name,当用户显示网格视图时,我连接数据库中的image-name和数据库中的path,我怎么能做到呢
<asp:TemplateField HeaderText="photo">
<ItemTemplate >
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# GetImagePath()+Eval("ImageName") %>' Width="100px" Height="100px" Style="cursor: pointer" OnClientClick = "return LoadDiv(this.src);" />
</ItemTemplate>
</asp:TemplateField>
你需要写下这样的函数
public string GetImage(string name)
{
string path = Path.Combine(Server.MapPath(("~/Admin/Images/" , name));
return path;
}
或
你也可以这样做
void GrdVw_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
Image rowImage = (Image) e.Row.FindControl("currentDocFile");
rowImage.ImageUrl = whatever;
}
}
我建议将图像名称作为参数传递给GetImagePath试试这个:
public string GetImagePath(string imageName)
{
return VirtualPathUtility.ToAbsolute("~/images/" + imageName);
}
VirtualPathUtility.ToAbsolute(string)将虚拟路径转换为应用程序的绝对路径。所以你会得到类似"/images/yourimage.jpg"的东西