在cloudinary中设置标题以避免污染画布

时间:2015-04-01 07:40:13

标签: php canvas cross-domain cloudinary

我在javascript中为客户端制作一个简单的绘图应用程序,并使用php进行保存和加载。该应用程序托管在heroku上,保存的图片托管在cloudinary上。当应用程序从cloudinary加载已保存的图片并将其绘制在画布上时,画布会因跨域而受到污染。 我使用cloudinary php-API来保存图像

\Cloudinary\Uploader::upload($canvasToDataUrl, array("public_id" => $saveName));

我尝试在options数组中添加一行,使用一些不同的语法,如

, "headers" => "Access-Control-Allow-Origin:*"

我认为API不支持此标头,支持的标头是' link'和' X-Robots-Tag'。

有没有办法强制我保存的图片有标题" Access-Control-Allow-Origin:*"?

2 个答案:

答案 0 :(得分:1)

您可以通过安全控制台设置允许的来源:https://cloudinary.com/console/settings/security

如下所示:

Admin console

答案 1 :(得分:1)

Cloudinary返回Access-Control-Allow-Origin: *标头,因此它应该适用于CORS。 这是一个演示Canvas中Cloudinary图像使用的示例: https://jsfiddle.net/137ptoja/

对于使用toDataURL方法,请注意,当从HTTPS页面请求HTTP URL时,CORS不允许这样做。 此外,如果域名存在Cookie,则该请求不会被视为匿名,因此会被阻止。

以下是作品的一个例子: https://jsfiddle.net/taragano/td0eLafc/