क्या ff में www.example.com/example.pdf के लिए संवाद बॉक्स के रूप में सहेजने का कोई तरीका है? (मैं हेडर बदल नहीं सकता)हेडर बदलने के अलावा फ़ायरफ़ॉक्स में संवाद बॉक्स के रूप में सहेजने के लिए कैसे बल दें?
6
A
उत्तर
2
एकमात्र अन्य तरीका जिसे मैं सोच सकता हूं फ़ायरफ़ॉक्स सेटिंग्स को संशोधित कर रहा है। मुझे लगता है कि आप ऐसा नहीं कर सकते हैं।
संपादित करें:
मैं एक साथ एक क्लाइंट-साइड समाधान डेटा यूआरआई विचार पर आधारित पत्थर। यह base64 encoder के संशोधित संस्करण और binary XMLHTTPrequests के लिए एक तकनीक का उपयोग करता है स्क्रिप्ट पीडीएफ फ़ाइल डाउनलोड करता है, फिर बेस 64 एन्कोडर का उपयोग करके डेटा यूआरआई लिंक को गतिशील रूप से उत्पन्न करता है और रखता है।
जब आप ऑक्टेट स्ट्रीम एन्कोडिंग चाहते हैं तो यह उपयोगी होना चाहिए लेकिन सर्वर तक पहुंच नहीं है (जैसा ओपी के लिए मामला लगता है)।
नोट, मैंने hunts.pdf का उपयोग करके पोस्ट किया है, जिसे ओपी परीक्षण कर रहा था।
/**
*
* Base64 encode/decode
* http://www.webtoolkit.info/
*
**/
var Base64 = {
// private property
_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/=",
// public method for encoding
encode : function (input) {
var output = "";
var chr1, chr2, chr2raw, chr3, chr3raw, enc1, enc2, enc3, enc4;
var i = 0;
//input = Base64._utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++) & 0xFF;
chr2 = isNaN(chr2raw = input.charCodeAt(i++)) ? NaN : (chr2raw & 0xFF);
chr3 = isNaN(chr3raw = input.charCodeAt(i++)) ? NaN : (chr3raw & 0xFF);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
}
return output;
}
}
// http://web.archive.org/web/20071103070418/mgran.blogspot.com/2006/08/downloading-binary-streams-with.html
//fetches BINARY FILES synchronously using XMLHttpRequest
load_url = function(url) {
var req = new XMLHttpRequest();
req.open('GET',url,false);
//XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
req.overrideMimeType('text/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200){
alert(req.status);
return '';
}
return req.responseText;
}
function getDataURI(filename)
{
var file = load_url(filename);
var uueFile = Base64.encode(file);
var uri = 'data:application/octet-stream;base64,' + encodeURIComponent(uueFile);
return uri;
}
window.addEventListener("load",
function()
{
var link = getDataURI("foo.pdf");
document.getElementById("myDiv").innerHTML += '<a href="' + link + '"><code>' + link + '</code></a><br><br>';
}
नहीं :(ऐसा लगता है कि यह संभव होना चाहिए .... –
@raj: यह वही है जो हेडर हैं। प्रतिक्रिया शरीर सामग्री है, हेडर एक सुझाव हैं कि इसके साथ क्या करना है (उदाहरण के लिए सामग्री । समाधान के लिए -Disposition) – Piskvor
धन्यवाद मैं कोड का उपयोग करने की कोशिश की यहाँ कोड मैं प्रयोग किया जाता के नीचे है:। window.addEventListener ("लोड", function() { वर लिंक = getDataURI ("http : //www.google.com/ads/hunts.pdf "); document.getElementById (" myDiv ")।आंतरिक HTML + = '
' + link + '
'; }