【发布时间】:2013-06-07 18:10:38
【问题描述】:
好吧,经过大量的谷歌搜索和尝试不同的事情,这可能是我搞砸的简单事情。
基本上,我正在做的是从 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 网络应用程序
【问题讨论】:
-
您还没有说明您的应用程序类型。这是 asp.net 网络应用程序吗?如果这是您的图像所在的网络应用程序?在您的网站根目录或子文件夹中?还是其他虚拟目录?
-
是的,它是一个 asp.net 网络应用程序。我的图像位于公司服务器上。不,图像不在项目中。
-
您不能访问公司现场的图片吗?喜欢
www.yourcompany.com/img/XL/1234XL.jpg? -
您可能会这么认为,但该公司使用多个站点名称并且有数千种产品,所以我会花很长时间才能做到这一点。这就是它动态完成的原因。当客户选择产品时,它必须解析特定的产品 ID,然后在服务器上的同名文件夹中找到图像。
-
如果您在服务器文件夹中搜索文件,将会耗费更多时间和资源。您不能使用产品 ID 和匹配的图像路径/网址创建表并根据要求从那里获取吗?如果您的网站快速变化,您可以每天或每小时更新此表格。
标签: c# directory getfiles registerstartupscript