中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Canvas中toDataURL()報錯的解決方法

發布時間:2020-06-23 22:41:46 來源:億速云 閱讀:1020 作者:Leah 欄目:web開發

Canvas中toDataURL()報錯怎么解決?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Canvas中toDataURL()報錯的解決方法

【場景】

用戶打開網頁,則請求騰訊COS(圖片服務器)上的圖片。使用canvas繪圖。

然后,用戶可以重新選擇圖片、裁剪、上傳。

【問題】

圖片首次載入,選擇新圖片后裁剪、繪制都沒有問題。但上傳失敗,報錯如下:

Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

經過了解,需要在圖片首次引用時,設置crossOrigin字段:

                var c=document.getElementById("cover_show");
                var img=new Image();
                img.src="http://vsqx-cover-xxxxxx.coscd.myqcloud.com/"+this.vsqx_uid+".jpg";
                //增加這一行:
                img.setAttribute("crossOrigin",'anonymous');
                img.onload = function(){
                    var cxt=c.getContext("2d");
                    cxt.drawImage(img,0,0,300,150,0,0,200,126);
                }

然后再次運行。發現圖片首次載入時,不顯示了。。。

Canvas中toDataURL()報錯的解決方法

控制臺報錯如下:

Canvas中toDataURL()報錯的解決方法

【最終解決方法】

登錄騰訊云COS,找到這個儲存桶,設置“跨域訪問CORS”。(其他PHP/JAVA服務器同理)

Canvas中toDataURL()報錯的解決方法

再次測試:圖片顯示成功,圖片上傳成功。

看完上述內容,你們掌握Canvas中toDataURL()報錯的解決方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通许县| 秀山| 丁青县| 西乡县| 澄城县| 天镇县| 昌黎县| 静乐县| 固始县| 涪陵区| 明光市| 黄骅市| 岳池县| 湖州市| 忻城县| 怀柔区| 浦城县| 红原县| 昌都县| 且末县| 积石山| 巫溪县| 阿勒泰市| 宜阳县| 大邑县| 渝中区| 磴口县| 临安市| 浦江县| 大连市| 哈尔滨市| 饶阳县| 丰镇市| 聂荣县| 隆昌县| 永康市| 林周县| 临颍县| 霍州市| 尉氏县| 柏乡县|