दिलचस्प पोस्ट
PHP के साथ पीडीएफ फाइल मर्ज करें Sed में पर्यावरण चर प्रतिस्थापन UI तालिका दृश्य सेल के अंदर बटन क्लिक करें रूबी में एक JSON स्ट्रिंग पार्सिंग रनटाइम पर निर्धारित किया गया upload_to के साथ Django FileField jquery ui datepicker और mvc दृश्य मॉडल प्रकार datetime सापेक्ष पथ और जावास्क्रिप्ट में पूर्ण पथ के बीच का अंतर JPA और सीतनिद्रा में होना का उपयोग करते समय कैसे बराबर और हैश कोड लागू किया जाना चाहिए क्यों हमेशा इंतजार करना चाहिए () हमेशा सिंक्रनाइज़ ब्लॉक में अलग ऊंचाई के कॉलम के साथ बूटस्ट्रैप पंक्ति नामित पाइप्स का उदाहरण शून्य स्तंभों के साथ अद्वितीय बाध्य बनाएँ पायथन में एक सूची का अंतिम तत्व प्राप्त करना "रननाबल" बनाम लागू करता है "थ्रेड का विस्तार" सीएसएस-चयनकर्ता और एक्सपाथ के बीच अंतर क्या है? जो बेहतर है (प्रदर्शन के अनुसार और क्रॉस ब्राउज़र परीक्षण के लिए)?

JQuery का उपयोग कर फ़ाइल डाउनलोड करें

जब मैं एक लिंक पर क्लिक करता हूं, तो मैं उपयोगकर्ता के लिए एक डाउनलोड कैसे कर सकता हूं?

उदाहरण के लिए, के बजाय:

<a href="uploads/file.doc">Download Here</a> 

मैं इस्तेमाल कर सकता हूँ:

 <a href="#">Download Here</a> $('a').click... //Some jquery to download the file 

इस तरह, Google मेरे एचआरईएफ और निजी फाइलों को सूचक नहीं करता है

क्या यह jQuery के साथ किया जा सकता है, यदि हां, तो कैसे? या इसके बजाय PHP या कुछ के साथ किया जाना चाहिए?

वेब के समाधान से एकत्रित समाधान "JQuery का उपयोग कर फ़ाइल डाउनलोड करें"

मैं इसे preventDefault का उपयोग करते हुए, एक अधिक सुरागपूर्वक अपमानजनक समाधान के रूप में सुझाव दे सकता हूं:

 $('a').click(function(e) { e.preventDefault(); //stop the browser from following window.location.href = 'uploads/file.doc'; }); <a href="no-script.html">Download now!</a> 

यहां तक ​​कि अगर कोई जावास्क्रिप्ट नहीं है, तो कम से कम इस तरह से उपयोगकर्ता को कुछ फीडबैक मिलेगा।

यदि आप खोज इंजनों को कुछ निश्चित फाइलों में सूचीबद्ध नहीं करना चाहते हैं, तो आप अपनी वेबसाइट के कुछ हिस्सों तक पहुंचने के लिए वेब मकड़ियों को बताने के लिए robots.txt का उपयोग कर सकते हैं।

यदि आप केवल जावास्क्रिप्ट पर भरोसा करते हैं, तो कुछ उपयोगकर्ता जो इसके बिना ब्राउज़ करते हैं, वे आपके लिंक पर क्लिक नहीं कर पाएंगे।

यहां एक अच्छा लेख है जो खोज इंजन से फ़ाइलों को छिपाने के कई तरीके दिखाता है:

http://antezeta.com/news/avoid-search-engine-indexing

जावास्क्रिप्ट एक पृष्ठ को इंडेक्स नहीं करने का एक अच्छा तरीका नहीं है; यह उपयोगकर्ताओं को आपकी फ़ाइलों को सीधे लिंक करने से नहीं रोकेगा (और इस प्रकार उन्हें क्रॉलर्स को दिखाएगा), और जैसा कि रोब का उल्लेख किया गया है, सभी उपयोगकर्ताओं के लिए काम नहीं करेगा।
एक आसान सुधार rel="nofollow" विशेषता को जोड़ना है, हालांकि फिर से, यह robots.txt बिना पूर्ण नहीं है।

 <a href="uploads/file.doc" rel="nofollow">Download Here</a> 

हां, आपको उस फ़ाइल के यूआरएल में विंडो को बदलना होगा, जिसे आप डाउनलोड करना चाहते हैं।

 window.location.href = 'http://www.com/path/to/file'; 
  var link=document.createElement('a'); document.body.appendChild(link); link.href=url; link.click(); 

window.location.href = 'uploads/file.doc'; बता कर window.location.href = 'uploads/file.doc'; आप दिखाते हैं कि आप अपनी फ़ाइलें कहाँ संग्रहीत करते हैं आप निश्चित रूप से उपयोग कर सकते हैं। संग्रहीत फ़ाइलों के लिए आवश्यक व्यवहार को लागू करने के लिए, लेकिन यह हमेशा मुट्ठी भर नहीं हो सकता है ….

एक सर्वर पक्ष php-file बनाने और उसमें यह सामग्री डालना बेहतर होता है:

 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.$_REQUEST['f']); readfile('../some_folder/some_subfolder/'.$_REQUEST['f']); exit; 

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

आप इस php-file को window.location.href = 'scripts/this_php_file.php?f=downloaded_file'; माध्यम से window.location.href = 'scripts/this_php_file.php?f=downloaded_file';

छिपे हुए आइफ्रेम मदद कर सकते हैं

मेरा सुझाव है कि आप मूसूडाउन घटना का उपयोग करें, जिसे क्लिक ईवेंट से पहले कहा जाता है इस तरह, ब्राउज़र स्वाभाविक रूप से क्लिक ईवेंट को संभालता है, जो कि किसी भी कोड अजीब से बचा जाता है:

 (function ($) { // with this solution, the browser handles the download link naturally (tested in chrome and firefox) $(document).ready(function () { var url = '/private/downloads/myfile123.pdf'; $("a").on('mousedown', function () { $(this).attr("href", url); }); }); })(jQuery); 

JQuery के फॉर्म के साथ एक बहु-स्तरीय फॉर्म को रीसेट करने के लिए jQuery के फॉर्म को साफ़ करने के लिए इसी तरह की पोस्ट देखें

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

  • JQuery फ़ंक्शन का उपयोग करना

      var valFileDownloadPath = 'http//:'+'your url'; window.open(valFileDownloadPath , '_blank');