我正在尝试将图像加载到canvas元素中,然后将数据拉出到toDataURL().
我的网站运行Ruby on Rails 2.3
我的图像来自aws s3.我有设置cors:
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
我有一个canvas元素:
<canvas id="explain_canvas"></canvas>
Run Code Online (Sandbox Code Playgroud)
好的,所以有些背景.我最初尝试使用这样的代码,其中drawing_image只是图像的url.
var outlineImage = new Image();
outlineImage.crossOrigin = '';
outlineImage.src = drawing_image;
outlineImage.onload = function() {
var canvas = document.getElementById('explain_canvas');
var context = canvas.getContext("2d");
context.drawImage(outlineImage, 10, 10, 600, 150);
}
Run Code Online (Sandbox Code Playgroud)
但那不是发送原始标题.所以我以为我会通过jquery尝试ajax调用
var outlineImage = new Image();
$(outlineImage).attr('crossOrigin', '');
$.ajax({
type: 'get',
url : drawing_image,
contentType: 'image/png',
crossDomain: 'true',
success: function() {
$(outlineImage).attr("src", drawing_image);
},
error: function() {
console.log('ah crap');
} …Run Code Online (Sandbox Code Playgroud)