Estoy usando Amazon S3 para el alojamiento de las imágenes de los usuarios. Aunque he de poner a todos a estar disponible para el público (esto significa que yo podría tener acceso a las imágenes por su Url en Chrome/Firefox/IE), me sale un 403 Prohibido excepción en mi código. Es una miniatura de controlador (C#, ASP.NET)

string file = context.Request.QueryString[IMG_PARAM].Trim().ToLower().Replace("\", "/");

      if (file.StartsWith("http") || file.StartsWith("https"))
      {
          using (System.Drawing.Image im = System.Drawing.Image.FromStream(WebRequest.Create(file).GetResponse().GetResponseStream()))
          using (System.Drawing.Image tn = this.CreateThumbnail(im))
          {
              tn.Save(context.Response.OutputStream, this._formatType);
          }
      }

La excepción viene de esta parte:

WebRequest.Create(file).GetResponse().GetResponseStream()

Es realmente extraño para mí, Si hay algo mal con ACL o permisos, por qué puedo ver las imágenes con el navegador? Cualquier ayuda se agradece.

OriginalEl autor Hossein Fakouri | 2012-02-07

3 Comentarios

  1. 3

    De encontrar! Después de una larga investigación, he encontrado es a causa de las cadenas de direcciones URL que son SENSIBLES a las mayúsculas. Resulta que yo tenía una .toLower() en algún lugar:

    string file = context.Request.QueryString[IMG_PARAM].Trim().ToLower().Replace("\", "/");
    

    Después de la eliminación .toLower() el problema será resuelto.

    OriginalEl autor Hossein Fakouri

  2. 2

    He encontrado usted también obtendrá este mensaje de error si el acceso a su Cloudfront CDN recursos con un CNAME, pero no agregar los CNAMES a la Distribución de la Configuración en la Consola de Administración de AWS.

    Por ejemplo:

    cdn.yourdomain.com/js/your_script.js
    rather than:
    abc12345.cloudfront.net/js/your_script.js
    

    OriginalEl autor Sage

  3. 0

    Tuve este mismo problema. Esto también puede suceder si no se especifica la root file opción a la hora de configurar su distribución Cloudfront.

    Cuando me puse mis archivos raíz para index.html todo ha funcionado muy bien.

    OriginalEl autor SimplGy

Dejar respuesta

Please enter your comment!
Please enter your name here