2014-09-19 64 views
1

我有一堆存儲在Amazon s3存儲桶中的深度縮放圖像,我有一個網頁,用Open Seadragon dzi查看器顯示它們。我能夠顯示圖像,但我無法讓他們下載;我收到安全錯誤,我有一個污染的畫布。無法從污染的畫布下載圖像;我如何下載託管在Amazon s3存儲桶中的Seadragon映像?

我設置在桶CORS設定:

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>Authorization</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

這讓我來顯示圖像(以前我OpenSeadragon調用失敗,因爲沒有訪問控制,允許原產頭),但我的帆布仍然受到污染。

我嘗試設置crossOrigin政策在海龍觀衆:

var viewer = OpenSeadragon({ 
     crossOrigin: "Anonymous", 
     id: "databaseviewer", 
     prefixUrl: "../../Scripts/openseadragon/images/", 
     tileSources: url, 
     maxZoomLevel: 20 
    }); 

但這並沒有改變任何東西。這是我完整的腳本:

var url = '@Model.ImageUrl'; 

var viewer = OpenSeadragon({ 
    crossOrigin: "Anonymous", 
    id: "databaseviewer", 
    prefixUrl: "../../Scripts/openseadragon/images/", 
    tileSources: url, 
    maxZoomLevel: 20 
}); 

viewer.addHandler('open', function() {     
    var downloadlink = document.getElementById("download"); 
    $(downloadlink).on("click", function() { 
     var img = viewer.drawer.canvas.toDataURL("image/png"); 
     downloadlink.href = img; 
     downloadlink.download = '@Model.DatabaseName'; 
    }); 
}); 

回答