मैं अपलोड होने से पहले किसी छवि का पूर्वावलोकन दिखाना चाहता हूं। मुझे आंशिक समाधान मिला है जो आई 6 और फ़ायरफ़ॉक्स के लिए काम करता है, और अभी तक इसे 7 यानी 8 में परीक्षण किया गया है। लेकिन मुझे एक समाधान चाहिए जो सफारी, यानी 7 और यानी 8 में भी काम करता है। यहाँ समाधान IE6 और फ़ायरफ़ॉक्स समाधान के संयोजन के द्वारा प्राप्त की है:विभिन्न ब्राउज़रों में अपलोड करने से पहले किसी छवि का पूर्वावलोकन कैसे करें
function preview(what) {
if(jQuery.browser.msie) {
document.getElementById("preview-photo").src=what.value;
return;
}
else if(jQuery.browser.safari) {
document.getElementById("preview-photo").src=what.value;
return;
}
document.getElementById("preview-photo").src=what.files[0].getAsDataURL();
// alert(jQuery("#preview-photo").height());
// alert(jQuery("#preview-photo").width());
var h = jQuery("#preview-photo").height();
var w = jQuery("#preview-photo").width();//assuming width is 68, and height is floating
if ((h > 68) || (w > 68)){
if (h > w){
jQuery("#preview-photo").css("height", "68px");
jQuery("#preview-photo").css("width", "auto");
}else {
jQuery("#preview-photo").css("width", "68px");
jQuery("#preview-photo").css("height", "auto");
}
}
}
getAsDataURL() हिस्सा फ़ायरफ़ॉक्स में काम करता है, और "src = what.value" भाग IE6 में काम करता है, लेकिन सफारी में क्या काम करेगा, और क्या "src = what.value" IE7 और ie8 में भी काम करता है? यदि नहीं, तो क्या कोई समाधान है जो वहां भी काम करता है? अगर मैं छवि पूर्वावलोकन 5 या 6 ब्राउज़रों में काम कर सकता हूं तो मैं खुश रहूंगा। यदि ऐसा नहीं है तो छवि के अपलोड के साथ दो रूपों का एकमात्र विकल्प है?
सही नहीं:
यह उदाहरण भी बुनियादी मान्यता लागू करता है। नया एचटीएमएल 5 फाइल एपीआई वास्तव में इस उद्देश्य को पूरा करता है। यह फ़ाइल पथ को पूरी तरह से सुरक्षित करता है, और आपको FileReader –
के माध्यम से सभी डेटा पढ़ना होगा नोट करें कि यह उत्तर 3 साल पुराना है। – Ash