/ / ब्राउज़र को देखने के बजाय एक फ़ाइल डाउनलोड करने के लिए मजबूर करें - पीडीएफ, ब्राउज़र

ब्राउज़र को इसे देखने के बजाय फ़ाइल डाउनलोड करने के लिए मजबूर करें - पीडीएफ, ब्राउज़र

अपने वेब पर मैं दो बटन रखना चाहता हूं - पहला Download उपयोगकर्ता के कंप्यूटर और अन्य के लिए एक पीडीएफ डाउनलोड करना चाहिए View जो एक नए टैब में पीडीएफ खोलता है। बात यह है, मैं नहीं जानता कि कैसे बनाने के लिए Download बटन। आप कह सकते हैं कि यह बेकार है क्योंकि आप इसे "देखने" के बाद पीडीएफ को बचा सकते हैं, लेकिन मैंने पहले से ही इस तरह के ग्राफिक्स बनाए हैं और डॉन "टी" वास्तव में इसे बदलना चाहते हैं। क्या ब्राउज़र को पीडीएफ फाइल खोलने से रोकना और इसे डाउनलोड करना संभव है। इसके बजाय फ़ाइल?

उत्तर:

जवाब के लिए 3 № 1

आपको अपने सर्वर-साइड स्क्रिप्ट में फ़ाइल डाउनलोड को मजबूर करने की आवश्यकता है:

यहाँ एक PHP उदाहरण है:

$file = "path/to/my-file.pdf";

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");

जवाब के लिए 0 № 2

अंत में, जैसा कि मैं nginx का उपयोग करता हूं, मैंने http-सर्वर स्तर पर इसे हल करने का निर्णय लिया:

location /media  {
alias /srv/www/novacek/media/;
}

location /download/media {
alias /srv/www/novacek/media/;
add_header Content-Disposition "attachment";
}