2010-09-02 15 views
9

मैं पहले से ही एक वेब पेज (x/html) को सफलतापूर्वक सहेजने में कामयाब रहा हूं, लेकिन मैं इसमें शामिल छवियों और एमपी 4 वीडियो को भी सहेजना चाहता हूं, आगे के लिए ऑफ़लाइन मोड में विज़ुअलाइज़ेशन।छवियों को डाउनलोड करें और आईफोन फोनगैप ऐप पर स्थानीय रूप से सहेजें

मुझे आईओएस फाइल सिस्टम तक पहुंच मिली है, इसलिए मैं एक AJAX अनुरोध के माध्यम से कोड प्राप्त करके HTML को सहेजता हूं, और बाद में इसे फ़ाइल में सहेजता हूं।

मैं वास्तव में कैसे वीडियो और छवियों साथ भी ऐसा ही करने के लिए पता नहीं है। मेरे पास एक सर्वर है जिसके लिए मैं अपने ऐप से प्रश्न भेज सकता हूं, इसलिए यह आवश्यक सामग्री को इष्टतम शीर्षकों के साथ डाउनलोड करने के लिए विशेष रूप से डाउनलोड करने की ज़रूरत है। मुझे नहीं पता कि क्लाइंट साइड से इसे "डाउनलोड" कैसे करें (जावास्क्रिप्ट)।

किसी भी मदद के लिए अग्रिम धन्यवाद।

+0

इस पर कोई अद्यतन? आखिरकार आपने क्या तय किया? – Crashalot

उत्तर

0

आप इसे केवल मूल रूप से कर सकते हैं मुझे डर है। मैं इसे एक फ़ाइलडाउनलोड फोनगैप प्लगइन के माध्यम से कर रहा हूं जिसे मैंने लिखा है, NSRLConnection का उपयोग करके। मैं जावास्क्रिप्ट के माध्यम से प्लगइन में डाउनलोड करने के लिए यूआरएल में पास करता हूं, और एक लक्षित स्थान (और यह मुझे प्रगति डाउनलोड भी करता है)।

+0

हाय, क्या आपके कोड को साझा करना आपके लिए संभव होगा? मैं दान करने को तैयार हूं अगर मैं जो खोज रहा हूं उसे प्राप्त कर सकता हूं। – StJimmy

2

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

यह नवीनतम आधिकारिक नमूना टुकड़ा है:

// !! Assumes filePath is a valid path on the device 

    var fileTransfer = new FileTransfer(); 
    var uri = encodeURI("http://some.server.com/download.php"); 

    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==" 
      } 
     } 
    ); 
+0

क्या आप कृपया मुझे बता सकते हैं कि 'filepath' क्या होगा यदि मैं ऐप के अंदर छवि को सहेजना चाहता हूं? www/something/file.jpg की तरह। – AtanuCSE

+0

ऐप के अंदर आपका क्या मतलब है? आपको इसे एसडीकार्ड में या आंतरिक मेमोरी निर्देशिका में सहेजने की आवश्यकता होगी। वेब पेज ऐप संसाधनों में संकलित है और आप वहां नहीं लिख सकते हैं। –

+0

आह! ठीक मिल गया। – AtanuCSE

0

मुझे अपने iOS एप्लिकेशन परियोजना पर इस स्निपेट का इस्तेमाल किया है:

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, success, fail); 

var target_directory=""; 

function fail() { 
    //alert("failed to get filesystem"); 
} 

function downloadImage(url, filename){ 
    alert("download just started."); 
    try{ 
     var ft = new FileTransfer(); 
     ft.download(
      url, 
      target_directory + filename, 
      function(entry) { 
       //alert("download complete!:" + entry.nativeURL); //path of the downloaded file 
      }, 
      function(error) { 
       //alert("download error" + error.code); 
       //alert("download error" + JSON.stringify(error)); 
      } 
     ); 
    } 
    catch (e){ 
     //alert(JSON.stringify(e)); 
    } 

} 

function success(fileSystem) { 
    target_directory = fileSystem.root.nativeURL; //root path 
    downloadImage(encodeURI("http://upload.wikimedia.org/wikipedia/commons/2/22/Turkish_Van_Cat.jpg"), "cat.jpg"); // I just used a sample url and filename 
} 
संबंधित मुद्दे