2014-12-06 11 views
5

जेएस के साथ शुरू करने के लिए मेरी शक्तियों में से एक नहीं है। मैं इस जेएस फ़ंक्शन को संपादित करने के लिए पिछले कुछ दिनों से कोशिश कर रहा हूं ताकि इसे बेस 64 छवि डाउनलोड कर सकें। फ़ंक्शन क्या करता है, जब डाउनलोड बटन क्लिक किया जाता है, तो उस पर छवि के साथ एक नई विंडो खुलती है। उपयोगकर्ता को फिर तस्वीर पर राइट क्लिक और सेव करना होगा। मैं दायाँ क्लिक के बजाय छवि को डाउनलोड करने और 'के रूप में सहेजें' को मजबूर करने की कोशिश कर रहा हूं।बल डाउनलोड बेस 64 छवि

dataurl उपज base4 png स्ट्रिंग (डेटा: image/jpeg; बेस 64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQ .........)

मैं के रूप में यह एक और धागा में सुझाव दिया गया था लेकिन बात नहीं बनी उपयोग करने की कोशिश।

सभी सुझावों का स्वागत है। धन्यवाद।

savePaint: function() { 
      var self = this; 

      dataURL = self.context.canvas.toDataURL(); 

      var cntnt = $("<p class='dialogHeader'>Please right click and select 'Save Image As' option. Click here to Return</p>   <img id='PrintImage' src=" + dataURL + ">"); 
      self.newSavedImage.html(cntnt); 

      self.showPopup(self.newSavedImage, self.canvasWidth, self.canvasHeight) 
} 

उत्तर

0

तुम इतनी ब्राउज़र देशी रूप छवि को खोलने के लिए प्रयास नहीं करता है बल्कि image/jpeg तुलना में एक अलग MIME प्रकार निर्दिष्ट कर सकते हैं:

data:application/octet-stream;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/... 

इस डाउनलोड करने के लिए फ़ाइल के लिए बाध्य करेगा, लेकिन मैंने देखा है कुछ ब्राउज़र कॉन्फ़िगरेशन में डिफ़ॉल्ट फ़ाइल नाम के साथ स्वत: सहेज सकते हैं और चूंकि ब्राउजर वास्तविक फ़ाइल प्रकार को नहीं जानता है, इसलिए यह सही प्रकार निर्दिष्ट करने के लिए उपयोगकर्ता तक होगा। दुर्भाग्यवश डेटा यूआरआई योजना एक सुझाए गए फ़ाइल नाम की अनुमति नहीं देती है।

अधिक संभावित समाधानों के लिए Using HTML5/Javascript to generate and save a file देखें। आपकी आवश्यकताओं के आधार पर आपकी सबसे अच्छी शर्त, फ्लैश-आधारित समाधान जैसे Downloadify के साथ जा सकती है।

5

अंत में! मुझे यह काम करने के लिए मिला है। किसी भी समस्या का सामना करने वाले किसी के लिए मुझे यहां एक समारोह मिला है http://danml.com/download.html जो आपको बेस 64 डाउनलोड करने के लिए मजबूर करेगा।

+3

लिंक-केवल उत्तर अच्छे नहीं हैं। कृपया अपने उत्तर में प्रासंगिक कोड लाएं। –

+0

टिल रिलीज कोड नीचे अंगूठे जोड़ा गया। लिंक टेक्स्ट की एक दीवार बहुत अधिक है। यहां कोड के साथ बेहतर सरल उत्तर: http://stackoverflow.com/questions/14011021/how-to-download-a-base64-encoded-image – Andrew

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