在我的ASP.NET应用程序中,我必须显示一些图像。实际上这些图像保存在一些其他服务器中。在我的数据库中,我有文件路径。我需要从远程服务器访问文件到我的应用程序。我怎样才能做到这一点?我使用以下代码
imgFiles = Directory.GetFiles(strFullPath,
strPkStock + "_*",
SearchOption.TopDirectoryOnly);
但是这会引发错误,说“访问路径被拒绝”
答案 0 :(得分:6)
您必须在其他服务器上进行文件系统访问才能执行此操作,我相信您不会拥有它。
完成它的最短路径是,从其他服务器发布images文件夹并使用图像的URL访问它而不是文件系统路径。这样,您的asp.net应用程序将能够轻松访问这些图像。事实上,客户端浏览器将直接从其他服务器访问这些图像,您只需更改图像的src。
答案 1 :(得分:2)
Murtuza Kabul建议通过HTTP / HTTPS访问文件可能是最简单的方法。您可以将HTTPS与客户端ceritficates一起使用,以防止其他用户/计算机从同一HTTPS服务器读取文件。
如果要直接在其他服务器的共享文件夹上访问文件,则需要确保访问文件的代码在帐户下运行,该代码至少具有该共享文件夹的读取权限。
请注意,默认配置(代码在特殊匿名帐户或调用用户凭据下运行)帐户下运行的代码将不具有其他服务器的权限(匿名,因为它是本地帐户,用户因为委托限制也称为“ NTLM一跳地狱“)。
您最简单的选择是在某个帐户下运行应用程序民意调查,该帐户具有其他服务器的权限,并取消模拟当前用户处理帐户。您还可以使用某些帐户来访问远程文件。