Così ho messa a punto cors sul mio AWS S3 secchio:Canvas con e Immagine caricato da AWS S3 utilizzando cors non funziona primi due carichi
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Nel mio html
<div id="explain_canvas"></div>
Nella mia javascript Sto caricando un'immagine e inserendola in un'immagine su tela.
var outlineImage = new Image();
outlineImage.crossOrigin = '';
outlineImage.src = drawing_image;
outlineImage.onload = function() {
var canvasDiv = document.getElementById('explain_canvas');
var canvas = document.createElement('canvas');
canvas.setAttribute('width', 722);
canvas.setAttribute('height', 170);
canvas.setAttribute('id', 'canvas_'+canvas_element);
canvas.setAttribute('name', 'canvas_'+canvas_element);
canvasDiv.appendChild(canvas);
if(typeof G_vmlCanvasManager != 'undefined') {
canvas = G_vmlCanvasManager.initElement(canvas);
}
var context = canvas.getContext("2d");
context.drawImage(outlineImage, 10, 10, 600, 150);
}
Sto caricando il contesto in modo che sia compatibile con Internet Explorer.
Ecco il mio problema. Quando la pagina viene caricato le prime due volte, si tratta con questo errore:
Cross-origin image load denied by Cross-Origin Resource Sharing policy.
Tuttavia, quando ho ricaricare la pagina un paio di volte, finirà per lavorare e caricare l'immagine. Una volta fatto, sono in grado di chiamare con successo aDataURL() sull'elemento canvas.
Qualcuno sa perché questo accade? Ho fatto un errore? È un problema con AWS e dovrò solo aspettare che Amazon risolva il cors?
Sta succedendo in tutti i browser che ho provato. In Chrome, Firefox, Safari, IE. Sul mio Mac, PC e iPhone. Quindi non penso che sia collegato al browser. Inoltre, accade localmente e in produzione.
Grazie!
È possibile includere i browser nei quali si sta verificando questo errore? Hai detto che sei "compatibile con internet explorer", ma non se l'errore sta accadendo in IE o in qualche altro browser. – monsur
Sta succedendo in tutti i browser che ho testato. In Chrome, Firefox, Safari, IE. Sul mio Mac, PC e iPhone. Quindi non penso che sia collegato al browser. Inoltre, accade localmente e in produzione. – bfcoder