0

好的,经过大量谷歌搜索并尝试了不同的事情,这可能是我搞砸的简单事情。

基本上我正在做的是从 url 解析 productID 并将 XL.jpg 添加到末尾。例如,假设产品 ID 为 1234,程序将在 PathToFolder (C://LiveSite/img/XL/) 中提供的文件夹中搜索 1234XL.jpg。

一切都按计划进行,直到路径部分。它解析 url 将 XL.jpg 添加到末尾,甚至遵循我设置的路径,但我得到一个错误,“地址不被理解。Firefox 不知道如何打开这个地址,因为协议(c ) 不与任何程序相关联。” 其他浏览器只有一个空白窗口。

这是我的浏览器中显示的内容:c://LiveSite/img/XL/1234XL.jpg

protected void OpenImg_Click(object sender, EventArgs e)
                {
                    int i = 0;

                    string PathToFolder = "C://LiveSite/img/XL/";

                    var dirInfo = new DirectoryInfo(PathToFolder);
                    string FileName = Variables.param + "XL.jpg";
                    var foundFiles = dirInfo.GetFiles(FileName);

                    if (foundFiles.Length == 1)
                    {
                        ClientScript.RegisterStartupScript(this.GetType(), "openFoundImage", "window.open('" + PathToFolder + foundFiles[i].Name + "');", true);
                    }
                }
            }
       }

我在搞砸它不会通往服务器的路径是什么?我应该使用什么来代替 C:// 吗?我试过以另一种方式翻转斜线并使用 C:/ none 。

在此先感谢您的帮助。

编辑:

很抱歉造成混乱。这些图像不在我的计算机上或项目中。他们在远程服务器上,如果重要的话,是 sql server。如果我想链接到服务器,我不确定是否正确启动了目录。

在服务器上,我想将它链接到 C://LiveSite/img/XL/ 中文件夹的路径,我现在明白只有在我在该服务器上进行链接时才会打开它。那么如何从 Internet 浏览器链接到该文件夹​​?我可以使用我写的那段代码,还是必须以全新的方式来做?

这是一个 asp.net 网络应用程序

4

2 回答 2

1

如果C://LiveSite/是您的网站根目录,那么您可以使用它

protected void OpenImg_Click(object sender, EventArgs e)
{
    int i = 0;

    string PathToFolder = "C://LiveSite/img/XL/";

    string webRootPathToFolder = ResolveUrl("~/img/XL/");
    var dirInfo = new DirectoryInfo(PathToFolder);
    string FileName = Variables.param + "XL.jpg";
    var foundFiles = dirInfo.GetFiles(FileName);

    if (foundFiles.Length == 1)
    {
        ClientScript.RegisterStartupScript(this.GetType(), "openFoundImage", "window.open('" + webRootPathToFolder + foundFiles[i].Name + "');", true);
    }
}
于 2013-06-07T18:21:03.913 回答
0

尝试这样的事情

file:///c:/path/to/the%20file.txt

如果必须...在浏览器中打开本地文件并不是一种广泛使用的技术。

可以这么说,它只能在您的计算机上运行。如果浏览器与网站不在同一台机器上运行,则此逻辑将无法正常工作。

您应该考虑一种解决方案,其中服务器将文件的内容以字节 [] 的形式发送到浏览器。这里有一个例子

于 2013-06-07T18:13:41.173 回答