1
나는 Amazon s3 버킷에 저장된 많은 줌 이미지를 가지고 있으며 Open Seadragon dzi 뷰어로 표시하는 웹 페이지가 있습니다. 이미지를 표시 할 수는 있지만 이미지를 다운로드 할 수는 없습니다. 내가 오염 된 캔버스를 가지고 있다는 보안 오류가 나타납니다. (접근 제어 - 수 - 기원 헤더가 없었다으로 이전에 내 OpenSeadragon 호출이 실패)오염 된 캔버스에서 이미지를 다운로드 할 수 없습니다. Amazon S3 버킷에서 호스팅되는 Seadragon 이미지를 다운로드하려면 어떻게해야합니까?
<?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>
나 이미지를 표시 할 수 있지만 내를 :
나는 버킷에 CORS 구성을 설정 캔버스가 여전히 오염되고 있습니다. 은 내가 seadragon 뷰어에서 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';
});
});