如何在客户端的RoleEnvironment.GetLocalResource中访问文件的位置

时间:2013-06-04 17:38:56

标签: c# azure azure-storage azure-storage-blobs azure-web-roles

我正在尝试在客户端javascript查看器中显示文件。该文件最初存储在Azure存储中。由于CORS,我无法使用远程Azure URL在查看器中显示该文件。所以我将它下载到RoleEnvironment.GetLocalResource但是我没有可以访问该文件的相对路径。它仍然给我一个CORS错误。

在客户端访问文件的最佳方法是什么?

TIA

1 个答案:

答案 0 :(得分:1)

您无法直接从客户端访问它。本地资源是本地的(对角色)。

我建议您实施IHttpHandler。这是一个简单的界面,允许您通过实现ProcessRequest方法返回您想要的任何内容(几乎......)。

上述ProcessRequest链接中代码的修改版本:

using System.Web;

namespace HandlerExample
{
   public class MyHttpHandler : IHttpHandler
   {
      public void ProcessRequest(HttpContext context)
      {
        // Get the file from azure storage here and return it using context.Response
      }

      public bool IsReusable
      {
         get { return true; }
      }
   }
}

要注册处理程序,请参阅How to: Register HTTP Handlers

请注意,还有一个异步对应方IHttpAsyncHandler