เมื่อเร็ว ๆ นี้ในโครงการจำเป็นต้องใช้ฟังก์ชั่นการดาวน์โหลดรูปภาพ (ดังที่แสดงด้านล่าง)
ในตอนแรกพิจารณาโดยใช้แอตทริบิวต์ดาวน์โหลดของแท็ก A เพื่อดาวน์โหลด:
<a href = รูปภาพ src download = ดาวน์โหลดโปสเตอร์> ดาวน์โหลดโปสเตอร์ </a>
อย่างไรก็ตามหลังจากการทดสอบฉันพบว่าใน Safari ไฟล์ที่ดาวน์โหลดไม่สามารถนำไปยังชื่อการขยายได้ดังนั้นฉันต้องเปลี่ยนความคิดและใช้ผ้าใบสำหรับการประมวลผล
1. ภาพต้องเพิ่ม crossorigin = 'ไม่ระบุชื่อ' เพื่อตั้งค่าแอตทริบิวต์ cross -addomain ของภาพ
img.crossorigin = 'ไม่ระบุชื่อ';
2. ใช้ todataurl เพื่อแปลงรูปภาพเป็นรูปแบบ base64
canvas.todataurl (รูปภาพ/png)
3. ใช้กิจกรรมคลิกแบบอะนาล็อกเพื่อทริกเกอร์ดาวน์โหลด
var save_link = document.createelement ('A'); ;
รหัสเต็ม:
var canvas = $ ('. canvas'); ฟังก์ชั่น () {var _w = img.naturalwidth; 'A'); .src = 'http://n.sinaimg.cn/transform/20170825/nzi3- fykiu Fe6650492.jpg';}
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้