दिलचस्प पोस्ट
मैं .NET के माध्यम से एआरपी-प्रोटोकॉल की जानकारी कैसे प्राप्त करूं? डाटाबेस में सादे पाठ पासवर्ड को एन्क्रिप्ट करना / हैश करना मल्टीपार्ट / फॉर्म-डेटा में सीमा क्या है? मेमोरी आवंटित करने में विफल: 8 javac विकल्प को सभी निर्देशिका में जरूरी निर्देशित निर्देशिका के तहत संकलित करें कैसे एक एसक्यूएल सर्वर संग्रहीत कार्यविधि में एक सरणी को पारित करने के लिए स्टोरीबोर्ड प्रोटोटाइप सेल (एक्सकोड 6, आईओएस 8 एसडीके) में यूआईकॉलप्लेक्शन ViewCell contentView के फ़्रेम का ऑटोर्सिस्किंग अंक केवल आईओएस 7 पर चलते समय होता है VueJS: क्यों "यह" अपरिभाषित है? दशमलव विभाजक के रूप में अल्पविराम के साथ पार्स करने के लिए सबसे अच्छा तरीका? </ Body> टैग के बाद <script> टैग को स्थान देना गलत है? एक ही पृष्ठ पर Greasemonkey स्क्रिप्ट चलाएं, कई बार? एंड्रॉइड में गेम क्लायंट शुरू कर रहा है क्या विंडोज में एक सेवा के रूप में पायथन स्क्रिप्ट को चलाने के लिए संभव है? यदि संभव हो, तो कैसे? JSONP सभी के बारे में क्या है? नाम-मान संग्रह में एक यूआरआई स्ट्रिंग को पार्स करें

फोनगैप – यूआरएल से डिवाइस फोटो गैलरी में छवि सहेजें

मैं फोनगैप एप्लिकेशन को विकसित कर रहा हूं और मुझे यूआरएल से डिवाइस फोटो गैलरी में छवि को बचाने की आवश्यकता है।

मैं फोनगैप एपीआई पर ऐसा नहीं कर पा रहा हूं और इसके लिए मुझे फोनगैप प्लगिन भी नहीं मिला।

आईफोन और एंड्रॉइड के साथ काम करने के लिए मुझे इसकी ज़रूरत है

आपका बहुत बहुत धन्यवाद!

वेब के समाधान से एकत्रित समाधान "फोनगैप – यूआरएल से डिवाइस फोटो गैलरी में छवि सहेजें"

यह फ़ाइल डाउनलोड कोड है जिसे किसी के द्वारा उपयोग किया जा सकता है आपके पास इस तरह के उपयोग करने के लिए तीन मानदंड हैं-

1) यूआरएल

2) फ़ोल्डर नाम जिसे आप अपने एसडी कार्ड में बनाना चाहते हैं

3) फाइल का नाम (आप फ़ाइल को किसी भी नाम दे सकते हैं)

सभी प्रकार की फाइल इस कोड का उपयोग करके डाउनलोड कर सकती है। आप इसे .js के रूप में उपयोग कर सकते हैं और IOS पर भी यह काम करता है।

 //First step check parameters mismatch and checking network connection if available call download function function DownloadFile(URL, Folder_Name, File_Name) { //Parameters mismatch check if (URL == null && Folder_Name == null && File_Name == null) { return; } else { //checking Internet connection availablity var networkState = navigator.connection.type; if (networkState == Connection.NONE) { return; } else { download(URL, Folder_Name, File_Name); //If available download function call } } } 

लिखने की अनुमति और फ़ोल्डर निर्माण प्राप्त करने के लिए // दूसरा चरण

 function download(URL, Folder_Name, File_Name) { //step to request a file system window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fileSystemSuccess, fileSystemFail); function fileSystemSuccess(fileSystem) { var download_link = encodeURI(URL); ext = download_link.substr(download_link.lastIndexOf('.') + 1); //Get extension of URL var directoryEntry = fileSystem.root; // to get root path of directory directoryEntry.getDirectory(Folder_Name, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail); // creating folder in sdcard var rootdir = fileSystem.root; var fp = rootdir.fullPath; // Returns Fulpath of local directory fp = fp + "/" + Folder_Name + "/" + File_Name + "." + ext; // fullpath and name of the file which we want to give // download function call filetransfer(download_link, fp); } function onDirectorySuccess(parent) { // Directory created successfuly } function onDirectoryFail(error) { //Error while creating directory alert("Unable to create new directory: " + error.code); } function fileSystemFail(evt) { //Unable to access file system alert(evt.target.error.code); } } 

// बनाई गई फ़ोल्डर में एक फ़ाइल डाउनलोड करने के लिए तीसरे चरण

 function filetransfer(download_link, fp) { var fileTransfer = new FileTransfer(); // File download function with URL and local path fileTransfer.download(download_link, fp, function (entry) { alert("download complete: " + entry.fullPath); }, function (error) { //Download abort errors or download failed errors alert("download error source " + error.source); //alert("download error target " + error.target); //alert("upload error code" + error.code); } ); } 

उपयोगी लिंक

कॉर्डोवा का नवीनतम संस्करण (3.3+), फ़ाइल का नया (1.0.0+) संस्करण फ़ाइल पथ के बजाय फाइलसिस्टम यूआरएल का उपयोग करता है। तो, FileSystemSuccess फ़ंक्शन में नए संस्करण के साथ स्वीकार किए जाते हैं उत्तर का काम करने के लिए लाइन परिवर्तित करें:

 var fp = rootdir.fullPath; 

सेवा मेरे:

 var fp = rootdir.toURL(); 

कॉर्डोवा / फोनगैप प्लगइन Canvas2ImagePlugin का उपयोग करना एक और आसान तरीका है। इसे स्थापित करें और अपने कोड में निम्न फ़ंक्शन जोड़ें जो कि राउल सांचेज़ (धन्यवाद!) द्वारा getImageDataURL पर आधारित है)।

 function saveImageToPhone(url, success, error) { var canvas, context, imageDataUrl, imageData; var img = new Image(); img.onload = function() { canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; context = canvas.getContext('2d'); context.drawImage(img, 0, 0); try { imageDataUrl = canvas.toDataURL('image/jpeg', 1.0); imageData = imageDataUrl.replace(/data:image\/jpeg;base64,/, ''); cordova.exec( success, error, 'Canvas2ImagePlugin', 'saveImageDataToLibrary', [imageData] ); } catch(e) { error(e.message); } }; try { img.src = url; } catch(e) { error(e.message); } } 

इसे इस तरह प्रयोग करें:

 var success = function(msg){ console.info(msg); }; var error = function(err){ console.error(err); }; saveImageToPhone('myimage.jpg', success, error); 

फोन अंतर फ़ाइल प्लगइन का उपयोग करके यह किया जा सकता है:

  var url = 'http://image_url'; var filePath = 'local/path/to/your/file'; var fileTransfer = new FileTransfer(); var uri = encodeURI(url); fileTransfer.download( uri, filePath, function(entry) { console.log("download complete: " + entry.fullPath); }, function(error) { console.log("download error source " + error.source); console.log("download error target " + error.target); console.log("upload error code" + error.code); }, false, { headers: { "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==" } } ); 

शायद आप आईओएस के लिए लिखे गए प्लगइन की कोशिश कर सकते हैं

यहां गिट लिंक है: https://github.com/Nomia/ImgDownloader

लघु उदाहरण:

 document.addEventListener("deviceready",onDeviceReady); //google logo url url = 'http://img.hiwab.com/javascript/logo11w.png'; onDeviceReady = function(){ cordova.plugins.imgDownloader.downloadWithUrl(url,function(){ alert("success"); },function(){ alert("error"); }); } //also you can try dataUri like: 1px gif //url = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' 

आप छवि गैलरी में एक स्थानीय फाइल को भी डाउनलोड विधि का उपयोग कर सकते हैं

मैं वर्तमान में कॉर्डोवा-प्लगइन-फोटो-लाइब्रेरी पर काम कर रहा हूं

यह यूआरएल (फ़ाइल: // या डेटा 🙂 द्वारा दी गई छवि को बचा सकता है। आईओएस और एंड्रॉइड, जेपीजी / पीएनजी / जीआईएफ पर काम करता है:

 cordova.plugins.photoLibrary.saveImage(url, 'My album', function () {}, function (err) {}); 

मुझे शुरू में मिला "Could not create target file"

डाउनलोड करने के लिए उस यूआरएल पर encodeURI() उपयोग करें:

 var DBuri = encodeURI("https://dl.dropbox.com/u/13253550/db02.xml"); fileTransfer.download( DBuri, sPath + "database.xml", 

और इस धागे में कोड पूरी तरह से काम करता है। बस इसे बाहर रखकर यहाँ।

सरल दृष्टिकोण

यदि आप डाउनलोड के फ़ोल्डर में होने के साथ ठीक हैं, तो निम्न करें

  1. इन-ऐप ब्राउज़र प्लग इन इंस्टॉल करें

     cordova plugin add cordova-plugin-inappbrowser 
  2. इसके साथ एक डाउनलोड बटन बनाएं

     onclick="window.open("Image_URL", '_system'); 

यह न केवल छवि को डाउनलोड करेगा, जिस पर वह इसी ऐप या ब्राउज़र में छवि खोलने की पेशकश करेगा।

मैंने साफ-अप किया और सुहास द्वारा सुझाए गए कोड को लपेटा- एक कोणीय सेवा में स्वीकार किए जाते हैं जवाब ताकि यह आसानी से अन्य अनुप्रयोग में उपयोग किया जा सके। आप यहां स्निपेट पा सकते हैं

इसका इस्तेमाल करने के लिए, आप ऐप। जेएस (और आपकी index.html फ़ाइल) में स्क्रिप्ट को शामिल करते हैं:

 angular.module('myApp.controllers.whatever', []) .controller('WhateverController', function ($scope, SaveToGalleryService) { $scope.savePhoto = function(photoUrl, folderName, fileName, callback) { var fileName = new Date().getTime(); SaveToGalleryService.saveToGallery(photoUrl, "Kiddiz.me", fileName, function saveSuccess(res) { console.log("Photo ", photoUrl, "photo saved", res); if (callback) { callback(true, res); } }, function saveFail () { console.log("Photo ", photoUrl, "failed to save photo"); if (callback) { callback(false); } }); } });