दिलचस्प पोस्ट
टुकड़े पर रीसेट से वापस ढेर बैश सेक प्रतिस्थापन में चर ({1..10}) ट्विटर बूटस्ट्रैप 3 के साथ IE8 मुद्दा पायथन में एक धागा से रिटर्न वैल्यू कैसे प्राप्त करें? एक फाइल में लाइनों को खोजने का फास्ट रास्ता जो दूसरे में नहीं है? अजगर में त्रुटि परिभाषित नहीं है एक विशिष्ट स्क्रीन में दोहरी मॉनिटर कॉन्फ़िगरेशन में JFrame दिखाएं सी # में नाम से एक Windows प्रपत्र नियंत्रण प्राप्त करें बैकस्लैश युक्त पथ स्ट्रिंग के लिए अपरिचित एस्केप अनुक्रम मैं DOM रेंज ऑब्जेक्ट के टेक्स्ट को कैसे उजागर कर सकता हूं? सीएसएस सिंगल-कॉलम लेआउट फिक्स्ड-चौड़ाई 100% ऊंचाई वायडर और फ़ूटर केंद्रित है यह जांच कैसे करें कि कोई प्रक्रिया बैच स्क्रिप्ट के माध्यम से चल रही है या नहीं सुनना गर्तिका साझा करने के लिए कई प्रक्रियाओं का एक तरीका है? मैं एक तत्व के बाहर एक क्लिक कैसे खोज सकता हूं? साप्ताहिक 100,000 ईमेल कैसे भेजें?

HTML बटन या जावास्क्रिप्ट पर क्लिक करते समय फ़ाइल डाउनलोड ट्रिगर कैसे करें

यह पागल है लेकिन मैं यह नहीं जानता कि यह कैसे करना है, और यह शब्द कितना आम है, खोज इंजन पर मुझे क्या जरूरत है यह पता करने में मुश्किल है मैं सोच रहा हूं कि यह जवाब देने के लिए आसान होना चाहिए।

मैं एक सरल फ़ाइल डाउनलोड करना चाहता हूं, जो इस तरह से ऐसा करना चाहेंगे:

<a href="file.doc">Download!</a> 

लेकिन मैं एक HTML बटन का उपयोग करना चाहता हूं, जैसे इनमें से कोई भी:

 <input type="button" value="Download!"> <button>Download!</button> 

इसी तरह, जावास्क्रिप्ट के द्वारा एक सरल डाउनलोड ट्रिगर करना संभव है?

 $("#fileRequest").click(function(){ /* code to download? */ }); 

मैं निश्चित रूप से एक एंकर बनाने का एक तरीका नहीं देख रहा हूँ जो एक बटन जैसा दिखता है, किसी बैक-एंड स्क्रिप्ट का उपयोग करता है, या सर्वर हेडर या माइम प्रकारों के साथ गड़बड़

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

बटन के लिए आप कर सकते हैं

 <form method="get" action="file.doc"> <button type="submit">Download!</button> </form> 

मैंने कुछ शोध किया है और सबसे अच्छा जवाब मिला है। आप नए एचटीएमएल 5 download एट्रिब्यूट का उपयोग करके डाउनलोड को ट्रिगर कर सकते हैं।

 <a href="path_to_file" download="proposed_file_name">Download</a> 

कहा पे :

  • path_to_file या तो एक पूर्ण या रिश्तेदार पथ है,
  • save_file_name को सहेजने के लिए फ़ाइल नाम (रिक्त हो सकता है, फिर वास्तविक फाइलनाम के लिए डिफ़ॉल्ट)।

आशा है कि यह उपयोगी है

क्या डॉक्यूमेंटेशन

क्या में उपयोग कर सकता हूँ

JQuery के साथ:

 $("#fileRequest").click(function() { // // hope the server sets Content-Disposition: attachment! window.location = 'file.doc'; }); 

HTML:

 <button type="submit" onclick="window.open('file.doc')">Download!</button> 

आप अदृश्य आइफ्रेम के साथ "चाल" कर सकते हैं। जब आप इसे "src" सेट करते हैं, ब्राउज़र प्रतिक्रिया करता है जैसे कि आप "href" के साथ एक लिंक पर क्लिक करेंगे फॉर्म के साथ समाधान के विपरीत, यह आपको अतिरिक्त तर्क को एम्बेड करने में सक्षम बनाता है, उदाहरण के लिए समय समाप्ति के बाद डाउनलोड सक्रिय, जब कुछ स्थितियां पूरी होती हैं आदि।

यह बहुत ही शांत है, खिड़की का उपयोग करते समय कोई खिड़की / टैबिंग नहीं है। ओपन।

HTML:

 <iframe id="invisible" style="display:none;"></iframe> 

जावास्क्रिप्ट:

 function download() { var iframe = document.getElementById('invisible'); iframe.src = "file.doc"; } 

व्हाट अबाउट:

 <input type="button" value="Download Now!" onclick="window.location = 'file.doc';"> 

कहीं भी आपके <body> और </body> टैग के बीच, नीचे दिए गए कोड का उपयोग करके एक बटन दबाएं:

 <button> <a href="file.doc" download>Click to Download!</a> </button> 

यह काम करने के लिए निश्चित है!

आप डाउनलोड लिंक छिपा सकते हैं और बटन को क्लिक कर सकते हैं।

 <button onclick="document.getElementById('link').click()">Download!</button> <a id="link" href="file.doc" download hidden></a> 

आखिरकार यह मेरे लिए काम किया गया क्योंकि फ़ाइल डाउनलोड होने पर निर्धारित किया गया था कि पेज लोड होने पर।

जे एस फॉर्म के क्रिया विशेषताओं को अपडेट करने के लिए:

 function setFormAction() { document.getElementById("myDownloadButtonForm").action = //some code to get the filename; } 

प्रपत्र के एक्शन विशेषता को अपडेट करने के लिए जेएस को कॉल करना:

 <body onLoad="setFormAction();"> 

सबमिट करें बटन के साथ फॉर्म टैग:

 <form method="get" id="myDownloadButtonForm" action=""> Click to open document: <button type="submit">Open Document</button> </form> 

निम्न कार्य नहीं किया था:

 <form method="get" id="myDownloadButtonForm" action="javascript:someFunctionToReturnFileName();"> 
  <a href="complexDownload" download="file.doc" onclick="this.href='file.doc';"> <button>Download <i>File.doc</i> Now!</button> </a> 

यह सफारी में काम नहीं करता है, लेकिन यह क्रोम में काम करता है। साथ ही, उपयोगकर्ता द्वारा क्लिक किए जाने के बाद लिंक के href विशेषता को बदलना ऐसा लग रहा था कि यह आईई के पुराने संस्करणों में काम करता है, लेकिन आईई या एज के नवीनतम संस्करणों में नहीं।

मुझे लगता है कि यह वह उपाय है जिसे आप ढूंढ रहे थे

 <button type="submit" onclick="window.location.href='file.doc'">Download!</button> 

मुझे एक ऐसा मामला था जहां मेरी जावास्क्रिप्ट ने एक सीएसवी फ़ाइल उत्पन्न की थी। चूंकि इसमें डाउनलोड करने के लिए कोई रिमोट यूआरएल नहीं है I

 downloadCSV: function(data){ var MIME_TYPE = "text/csv"; var blob = new Blob([data], {type: MIME_TYPE}); window.location.href = window.URL.createObjectURL(blob); } 

अगर आपके पास एक जटिल यूआरएल है जैसे file.doc?foo=bar&jon=doe , तो फार्म का छिपे हुए क्षेत्र को जोड़ना है

 <form method="get" action="file.doc"> <input ty='hidden' name='foo' value='bar'/> <input ty='hidden' name='john' value='doe'/> <button type="submit">Download Now</button> </form> 

@क्र्राक उत्तर पर प्रेरित जो कि पूरा नहीं हुआ है

यदि आप फॉर्म का उपयोग नहीं कर सकते हैं, तो डाउनलोडज के साथ एक और दृष्टिकोण अच्छा है। डाउनलोडज ब्लॉब और एचटीएमएल 5 फाइल एपीआई का उपयोग हुड के तहत:

{डाउनलोडज (यूआरएल, फाइलनाम)}) />

* यह जेएसएक्स / सिंटेक्स प्रतिक्रिया करता है, लेकिन शुद्ध एचटीएमएल में इस्तेमाल किया जा सकता है

मेरे लिए एंकर पाठ के बजाए ऐडिंग बटन वास्तव में अच्छी तरह से काम करता है

 <a href="file.doc"><button>Download!</button></a> 

यह ज्यादातर नियमों द्वारा ठीक नहीं हो सकता है, लेकिन यह बहुत अच्छा लग रहा है।

यदि आप <a> टैग का उपयोग करते हैं, तो पूरे यूआरएल का उपयोग करने के लिए मत भूलें जो फ़ाइल की ओर जाता है – यानी:

 <a href="http://www.example.com/folder1/file.doc">Download</a> 

सामान्य लिंक का उपयोग करें और इसे सीएसएस का उपयोग कर एक बटन की तरह दिखें।