2013-12-07 8 views
5

से छवि सहेजने मैं जावास्क्रिप्ट में छवियों को बचाने के लिए इस कोड का उपयोग:गुम एक्सटेंशन जब कैनवास

window.location.href = grid.toDataURL("image/png").replace("image/png", "image/octet-stream"); 

कोड काम करता है, लेकिन फाइल सेव किसी भी विस्तार नहीं है, मैं इसे स्वयं का नाम बदलने के लिए है।

मेरा सवाल यह है कि मैं अंत में विस्तार कैसे रख सकता हूं?

धन्यवाद।

उत्तर

7

toDataURL डेटा-यूरी को फ़ाइल नाम नहीं बनाता है इसलिए एक्सटेंशन इस मामले में लागू नहीं होता है।

डेटा-यूरी बस बाइनरी सामग्री का एक टेक्स्ट एन्कोडेड संस्करण है जो कुछ ब्राउज़र फ़ाइल के रूप में पढ़ सकते हैं - यदि आप चाहें तो डेटा-स्ट्रीम। चूंकि डेटा स्ट्रीम में कोई फ़ाइल नाम नहीं है, तो आप एक संलग्न नहीं कर सकते हैं।

आप इस तरह एक लंगर टैग सेट करके ऐसा काम कर सकते हैं:

<a id="imageLink" href="data-uri-here" download="myFilename.png"> 
    Click to download 
</a> 

जावास्क्रिप्ट में आप इन विशेषताओं गतिशील सेट कर सकते हैं:

imageLink.href = grid.toDataURL(); 
imageLink.download = 'myOtherFilename.png'; 
+0

@ mickaelb91 सुनिश्चित करें, आप बस जावास्क्रिप्ट में भी टैग बना सकते हैं। स्वचालित रूप से एक क्लिक को ट्रिगर करने का विकल्प भी है। इसे देखें: http://stackoverflow.com/questions/18480474/how-to-save-an-image-from-canvas/18480879#18480879 – K3N

संबंधित मुद्दे