2012-11-22 15 views
8

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

एचटीएमएल

<input type="file" id="loadfile" /> 

इस्तेमाल किया जावास्क्रिप्ट

var file = document.getElementById('loadfile').files[0]; 
alert("name " + file.name + "Size " + file.size); 

यह कैसे IE में प्राप्त करने के लिए आईई छोड़कर :( ठीक अन्य ब्राउज़रों काम करता है?

+4

आईई फ़ाइल एपीआई का समर्थन नहीं करता है। – undefined

+2

http://caniuse.com/#feat=fileapi – adeneo

+0

धन्यवाद सब ... मैं भी हर जगह से जानकारी कि IE इस सुविधा :( मैं फाइल अपलोड http के लिए एक महान प्लगइन मिल गया था का समर्थन नहीं करता मिलता है://blueimp.github.com/jQuery-File-Upload/ – raki

उत्तर

5

आईई फाई आपूर्ति नहीं करता है ले आकार की जानकारी मुझे डर है। आप IE10 साथ एचटीएमएल 5 फ़ाइल एपीआई का उपयोग करने, देखने के लिए यहाँ सक्षम हो सकता है: -

Javascript to check filesize before upload in Internet Explorer

0

आईई ऊपर संस्करण 9 के लिए file API जो फ़ाइल आकार पाने के लिए की जरूरत है समर्थन नहीं करता। आईई 10 फ़ाइल आकार का समर्थन नहीं करता है।

1

आप इस activeX का उपयोग कर

function getSize() 
{ 
var myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
var filepath = document.upload.file.value; 
var thefile = myFSO.getFile(filepath); 
var size = thefile.size; 
alert(size + " bytes"); 
} 

और अधिक विस्तार के लिए यहाँ देख की तरह यह कर सकते हैं;

how validate file size using HTML and Javascript on client side

0

आईई फ़ाइल एपीआई का समर्थन नहीं करता

स्रोत: http://www.sencha.com/forum/showthread.php?196859-File-Upload-Field-IE-Safari-Opera-fileInput-error.&s=b124834725ae363759158268d91ac32c

+6

मैं "स्वचालन सर्वर वस्तु नहीं बना सकते" चलाने के लिए कि समारोह onchange एक jQuery में कोशिश कर रहा। एचटीएमएल 5 के साथ संगत ब्राउज़र के लिए काम करता है – Will

1
: https://github.com/blueimp/jQuery-File-Upload/issues/147

इस कार्रवाई

function getSize() 
{ 
var myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
var filepath = document.upload.file.value; 
var thefile = myFSO.getFile(filepath); 
var size = thefile.size; 
alert(size + " bytes"); 
} 

स्रोत प्रदर्शन करने के लिए एक एक्टिव एक्स नियंत्रण का उपयोग करने के

document.getElementById('loadfile').addEventListener('change', checkFile, false); 

function checkFile(e) { 
    var file_list = e.target.files; 
    for (var i = 0, file; file = file_list[i]; i++) { 
     var fileExtension = file.name.split('.')[file.name.split('.').length - 1].toLowerCase(); 
     var iConvert = (file.size/1024).toFixed(2); 

     txt = "File type : " +fileExtension + "\n"; 
     if(file.size > (1024 * 1024)){ 
      txt += "Size: " + (file.size/(1024*1024)).toFixed(2) + " MB \n"; 
     } else { 
     txt += "Size: " + (file.size/1024).toFixed(2) + " KB \n"; 
     } 
     alert(txt); 
    } 
} 

filddle

+0

, लेकिन इस IE9 के साथ काम नहीं करता। – Vakey

+0

IE9 में 'file.size' नहीं है – Stiger

संबंधित मुद्दे