मेरे पास HTML का एक मूल विचार है। मैं अपनी नमूना वेबसाइट में डाउनलोड लिंक बनाना चाहता हूं, लेकिन मुझे नहीं पता कि इसे कैसे बनाया जाए। मैं इसे देखने के बजाय किसी फ़ाइल को डाउनलोड करने के लिए एक लिंक कैसे बना सकता हूं?
मेरे पास HTML का एक मूल विचार है। मैं अपनी नमूना वेबसाइट में डाउनलोड लिंक बनाना चाहता हूं, लेकिन मुझे नहीं पता कि इसे कैसे बनाया जाए। मैं इसे देखने के बजाय किसी फ़ाइल को डाउनलोड करने के लिए एक लिंक कैसे बना सकता हूं?
जवाबों:
यह उत्तर पुराना है। अब हमारे पास
download
विशेषता है । ( एमडीएन से यह लिंक भी देखें )
यदि "डाउनलोड लिंक" से आपका मतलब फ़ाइल को डाउनलोड करने, उपयोग करने के लिए लिंक से है
<a href="http://example.com/files/myfile.pdf" target="_blank">Download</a>
, target=_blank
डाउनलोड शुरू होने से पहले एक नई ब्राउज़र विंडो प्रदर्शित करेगा। वह विंडो आमतौर पर बंद हो जाएगी जब ब्राउज़र को पता चलता है कि संसाधन एक फ़ाइल डाउनलोड है।
ध्यान दें कि ब्राउज़र को ज्ञात फ़ाइल प्रकार (जैसे JPG या GIF छवियां) आमतौर पर ब्राउज़र के भीतर खोले जाएंगे।
आप सही हेडर भेजने की कोशिश कर सकते हैं जैसे कि यहां उल्लिखित डाउनलोड को मजबूर करने के लिए । (सर्वर साइड स्क्रिप्टिंग या उसके लिए सर्वर सेटिंग्स तक पहुँच आवश्यक है।)
HTML5 का समर्थन करने वाले आधुनिक ब्राउज़रों में, निम्नलिखित संभव है:
<a href="link/to/your/download/file" download>Download link</a>
आप इसका उपयोग भी कर सकते हैं:
<a href="link/to/your/download/file" download="filename">Download link</a>
यह आपको वास्तव में डाउनलोड की जा रही फ़ाइल का नाम बदलने की अनुमति देगा।
एचटीएमएल 5 की <a download
विशेषता के अलावा (या प्रतिस्थापन में) पहले से ही उल्लेख किया गया है,
ब्राउज़र की डिस्क डिस्क डाउनलोड को निम्न http प्रतिक्रिया हेडर द्वारा भी ट्रिगर किया जा सकता है:
Content-Disposition: attachment; filename=ProposedFileName.txt;
यह HTML5 से पहले करने का तरीका था (और अभी भी HTML5 का समर्थन करने वाले ब्राउज़रों के साथ काम करता है)।
download
विशेषता की तुलना में अच्छी तरह से समर्थित है
फ़ाइल से लिंक करने के लिए, किसी अन्य पेज लिंक की तरह ही करें:
<a href="...">link text</a>
चीजों को डाउनलोड करने के लिए मजबूर करने के लिए भले ही उनके पास एक एम्बेडेड प्लगइन हो (Windows + QuickTime = ugh), आप इसे अपने htaccess / apache2.conf में उपयोग कर सकते हैं:
AddType application/octet-stream EXTENSION
यह धागा शायद अब तक प्राचीन है, लेकिन यह मेरी स्थानीय फ़ाइल के लिए html5 में काम करता है।
Pdfs के लिए:
<p><a href="file:///........example.pdf" download target="_blank">test pdf</a></p>
यह एक नई विंडो में पीडीएफ को खोलना चाहिए और आपको इसे डाउनलोड करने की अनुमति दे सकता है (कम से कम फ़ायरफ़ॉक्स में)। किसी भी अन्य फ़ाइल के लिए, बस इसे फ़ाइल नाम दें। छवियों और संगीत के लिए, आप उन्हें अपनी साइट के समान निर्देशिका में संग्रहीत करना चाहेंगे। तो यह होगा
<p><a href="images/logo2.png" download>test pdf</a></p>
यहां एक और सूक्ष्मता है जो यहां मदद कर सकती है।
मैं ऐसे लिंक रखना चाहता हूं जो दोनों को ब्राउज़र में खेलने और डिस्प्ले के साथ-साथ पूरी तरह से डाउनलोड करने की अनुमति दें। नई डाउनलोड विशेषता ठीक है, लेकिन हर समय काम नहीं करती क्योंकि ब्राउज़र की फ़ाइल को चलाने या प्रदर्शित करने की मजबूरी अभी भी बहुत मजबूत है।
लेकिन .. यह URL के फ़ाइल नाम पर एक्सटेंशन की जांच करने पर आधारित है! आप सर्वर के एक्सटेंशन मैपिंग के साथ फील नहीं करना चाहते क्योंकि आप एक ही फाइल को दो अलग-अलग तरीकों से डिलीवर करना चाहते हैं। तो डाउनलोड के लिए, आप फ़ाइल को ऐसे नाम पर सॉफ्टलिंक करके मूर्ख बना सकते हैं जो इस एक्सटेंशन मैपिंग के लिए अपारदर्शी है, इसे इंगित करता है, और फिर नाम को ठीक करने के लिए डाउनलोड का नाम बदलने की सुविधा का उपयोग करता है।
<a target="_blank" download="realname.mp3" href="realname.UNKNOWN">Download it</a>
<a target="_blank" href="realname.mp3">Play it</a>
मैं अंत में सिर्फ एक डमी क्वेरी फेंकने की उम्मीद कर रहा था या अन्यथा विस्तार को बाधित करने से काम चलेगा, लेकिन दुख की बात है कि ऐसा नहीं है।
आप विभिन्न तरीकों से डाउनलोड कर सकते हैं आप मेरे रास्ते का अनुसरण कर सकते हैं। हालाँकि फ़ाइलें 'अनुमति-पॉपअप' की अनुमति के कारण डाउनलोड नहीं हो सकती हैं, लेकिन आपके वातावरण में, यह पूरी तरह से काम करेगी
<div className="col-6">
<a download href="https://www.w3schools.com/images/myw3schoolsimage.jpg" >Test Download </a>
</div>
'एक्स-फ्रेम-ऑप्शंस' से 'एओरिजिन' के कारण यह एक और एक भी विफल हो जाएगा।
<a href="https://www.w3schools.com/images/myw3schoolsimage.jpg" download>
<img src="https://www.w3schools.com/images/myw3schoolsimage.jpg" alt="W3Schools" width="104" height="142">
</a>
ऐशे ही
<a href="www.yoursite.com/theThingYouWantToDownload">Link name</a>
तो एक फ़ाइल name.jpg एक साइट example.com पर इस तरह दिखेगा
<a href="www.example.com/name.jpg">Image</a>
./www.example.com/name.jpg
- आपको http://
निर्दिष्ट डोमेन के साथ पूर्ण लिंक के लिए उपयोग करना चाहिए ।
मुझे पता है कि मुझे देर हो गई है लेकिन यह वही है जो मुझे 1 घंटे की खोज के बाद मिला है
<?php
$file = 'file.pdf';
if (! file) {
die('file not found'); //Or do something
} else {
if(isset($_GET['file'])){
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
// Read the file from disk
readfile($file); }
}
?>
और डाउनलोड करने योग्य लिंक के लिए मैंने ऐसा किया
<a href="index.php?file=file.pdf">Download PDF</a>