没有使用asp.net显示图像

本文关键字:显示 显示图 图像 net asp | 更新日期: 2023-09-27 17:59:05

在下面的代码中,我有一个图像,我从codeehind传递了图像url,但它没有显示图像。

public string strName = "SV";
        public string strFolder = "Documents";
 string Imgdocname = SearchDoc.DocumentName;
                string fileExt = System.IO.Path.GetExtension(Imgdocname);
                fileExt = fileExt.ToLower();
                if (fileExt == ".jpeg" || fileExt == ".jpg")
                {
                    docimg.ImageUrl  = "C:''Search''" + strName + "''" + strFolder + "''" + Imgdocname; //not working
                    docimg.Visible = true;
                 } else
                {docimg.ImageUrl  = "C:''Search''doc''Documents''image.jpeg";  //not working
                }
<div ID="imgContainer" runat="server" style="width: 700px; height: 300px;  overflow:auto; border: solid 1px black;
                    padding: 10px; margin-bottom: 5px;" >
<asp:Image ID="docimg" runat="server" />
          </div>

没有使用asp.net显示图像

IS是否搜索您的项目名称?

如果是,则使用

 if (fileExt == ".jpeg" || fileExt == ".jpg")
 {
           docimg.ImageUrl= "~/" + strName + "/" + strFolder + "/" + Imgdocname;
           docimg.Visible = true;
 }
 else
 {
          docimg.ImageUrl = "~/doc/Documents/image.jpeg";
          docimg.Visible=true;
 }   

与客户端应用程序不同,web应用程序中的图像不会直接包含在页面中。相反,页面包含一个指向图像资源的链接,该链接是浏览器在检索页面的HTML后请求的。因此,您需要提供一个客户端可以检索的URL。在您的示例中,您将服务器上的文件路径设置为图像URL。这将不起作用,因为客户端无法直接访问服务器上的文件路径。

相反,您需要将图像放置在可通过web服务器(例如IIS)访问的文件夹中,以便能够设置客户端可以用来检索图像的URL(如/img/picture.jpg)。实现这一点的最简单方法是将图像放在应用程序根文件夹下的文件夹中。在这种情况下,您可以这样设置图像URL(假设图像所在的文件夹名为img):

var imgUrl = "~/img/";
if (fileExt == ".jpeg" || fileExt == ".jpg")
    imgUrl += strName + "/" + strFolder + "/" + Imgdocname;
else
    imgUrl += "doc/Documents/image.jpeg";
docimg.ImageUrl = imgUrl;
docimg.Visible = true;

~是服务器上项目根目录的占位符,因此无论您的应用程序是安装在网站根目录还是下面的某个位置,链接都可以工作。

您不能指定计算机上任何驱动器的绝对路径。ImageUrl不是计算机的路径,而是项目中存在的Url路径。

在项目根目录中创建一个Images文件夹,并将路径指定为

docimg.ImageUrl = "~/Images/image.jpeg";

波浪号~表示项目的根目录。