2012-10-10 49 views
1

在我的ASP.NET应用程序中,我必须显示一些图像。实际上这些图像保存在一些其他服务器。在我的数据库中有文件路径。我需要从远程服务器访问我的应用程序文件。我怎样才能做到这一点?我使用下面的代码使用asp.net访问另一个服务器的文件页面

imgFiles = Directory.GetFiles(strFullPath, 
           strPkStock + "_*", 
           SearchOption.TopDirectoryOnly); 

但是,这将引发一个错误,说“对路径的访问被拒绝”

+0

您的IIS工作进程需要访问该路径?你检查过了吗? – lahsrah

回答

6

你必须有其他的服务器上的文件系统访问做到这一点,我相信你不会有它。

完成它的最短途径是,从其他服务器发布图像文件夹,并使用图像的url来访问它,而不是文件系统路径。这样,你的asp.net应用程序将能够轻松访问这些图像。实际上,它将是客户端浏览器,它将直接从其他服务器访问这些图像,您只需更改图像的src。

+0

+1使图像通过HTTP访问可能是最简单的解决方案(也可能需要考虑安全隐患......) –

2

Murtuza Kabul建议通过HTTP/HTTPS访问文件可能是最简单的方法。您可以使用HTTPS和客户机认证来防止其他用户/机器从同一个HTTPS服务器读取文件。

如果要直接访问其他服务器的共享文件夹上的文件,则需要确保访问文件的代码在帐户下运行,并至少具有该共享文件夹的读取权限。

注意,默认配置(其中的代码在任何特殊的匿名账户或主叫用户的凭据运行)帐户代码下运行,不会对其他服务器的权限(匿名becuse它是本地帐户,用户由于对代表团的限制也被称为“NTLM一跳地狱”)。

您最简单的选择是在某个帐户下运行应用程序民意调查,该帐户拥有其他服务器的权限并且可以取消模拟当前用户以处理帐户。您还可以显式阻止某个帐户访问远程文件。

相关问题