2012-06-06 22 views
6

Có cách nào khác để nhận kích thước tệp ở phía máy khách mà không sử dụng ActiveX trong IE không?Làm thế nào để có được kích thước tập tin từ clientside mà không sử dụng activex trong javascript?

Tôi nhận được kích thước tệp từ phía máy khách nhưng, IE mở cửa sổ thông báo bảo mật cho điều khiển ActiveX. Có cách nào khác để nhận kích thước tệp hoặc ẩn cửa sổ bật lên ActiveX không?

Đây là mã để nhận kích thước tệp ở phía máy khách.

<html> 
<body> 
<form id="file"> 
<input type="file" id="loadfile" /> 
<input type="button" value="Image Size" onclick="testSize()" /> 
</form> 
<script type="text/javascript"> 

function testSize(){ 
    var browserInfo = navigator.userAgent.toLowerCase(); 

    if(browserInfo.indexOf("msie") > -1){ 
     /* IE */ 
     var filepath = document.getElementById('loadfile').value; 
     alert(filepath + " Test "); 
     var myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
     var thefile = myFSO.getFile(filepath); 
     var imgbytes = thefile.size; 
     alert("name " + thefile.name + "Size " + thefile.size); 
    }else{ 
     /* Other */ 
     var file = document.getElementById('loadfile').files[0]; 
     alert("name " + file.name + "Size " + file.size); 
    } 
} 
</script> 
</body> 
</html> 

Xin cảm ơn trước.

Trả lời

3

Tôi đã nhận được giải pháp.

Không có vấn đề về geniune với mã sự cố xảy ra với cài đặt bảo mật trình duyệt internet explorer. Nói chung, bạn phải đối mặt với loại hình này lỗi khi bạn muốn mở một file văn bản hoặc một số file excel trên một máy chủ từ xa

đi đến internetoptions < an ninh < customlevel < khởi tạo và kịch bản điều khiển x hoạt động không được đánh dấu an toàn cho kịch bản và đánh dấu chúng đã bật và tôi nghĩ rằng sự cố của bạn sẽ bị xóa

cảm ơn.

+0

Cảm ơn, tôi cũng đã viết một chức năng tương tự cho việc sử dụng của tôi, kích hoạt các hộp kiểm "Active X" khác nhau trong IE nhưng bỏ qua điều này :). Chức năng của tôi ở đây https://gist.github.com/3347948 –

Các vấn đề liên quan