我在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:*"?
答案 0 :(得分:1)
答案 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/