0

我有一个这样的 arrav 字符串:

string[] imgList = new[] { "/Images/10000489Back20130827.jpg", "/Images/2F.jpg", "/Images/10000489Front20130827.jpg" };

包含文件名,包含在 virtaul 目录中。

如果我将此参数分配给 ImageUrl,则会显示图像。在页面的详细信息中显示如下属性:

src="/Images/1F.jpg"

但是当我尝试在特定目录中查找所有文件并分配给 ImageUrl roperties 的文件时,它不会显示图像。我注意到路径检索完成,而不是 virtaul 目录的引用

string path = "/Images"; ///Obtener el path virtual

DirectoryInfo directory = new DirectoryInfo(path);
FileInfo[] files = directory.GetFiles("*.jpg");

imgList = files.Where(x => x.FullName.Contains(clientNumber)).Select(x => x.FullName).ToList().ToArray();

我检索此路径:

src="C:/Images/1F.jpg"

如何使用 DirectoryInfo 类仅获取具有文件名的虚拟路径?

4

3 回答 3

1

尝试这个:

string path = "/Images";
DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath(path));
于 2013-08-30T08:56:13.457 回答
0

我解决了它:

而是传递完整路径:

x.FullName

我将虚拟路径与文件名连接起来。

path + x.Name

例子

imgList = files.Where(x => x.FullName.Contains(clientNumber)).Select(x => path + x.Name).ToList().ToArray();
于 2013-08-30T09:08:14.607 回答
0

在虚拟路径中显示图像,如 (C:\Users\User\Desktop\Signature.png) :它的工作

我使用 Try Catch 来避免错误

客户端:

asp:Image runat="server" ID="Image1" />

服务器端 :

尝试 {

        Byte[] bytes = System.IO.File.ReadAllBytes(@"C:\Users\User\Desktop\Signature.png");
        Image1.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(bytes, 0, bytes.Length);
        Image1.Visible = true;

    }

    catch (Exception e)
    {

    }
于 2018-02-22T06:20:45.073 回答