1

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

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

但这会引发错误,提示“访问路径被拒绝”

4

2 回答 2

6

您必须在其他服务器上具有文件系统访问权限才能执行此操作,我相信您不会拥有它。

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

于 2012-10-10T05:41:15.660 回答
2

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

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

请注意,默认配置(代码在特殊匿名帐户或调用用户的凭据下运行)代码运行的帐户将没有其他服务器上的权限(匿名,因为它是本地帐户,用户由于对委派的限制也称为“NTLM单跳地狱”)。

您最简单的选择是在具有其他服务器权限的某个帐户下运行应用程序投票,并取消模拟当前用户以处理帐户。您还可以显式模拟某些帐户来访问远程文件。

于 2012-10-10T06:12:02.317 回答