2012-04-04 7 views
1

Ich mag die Dateigröße der Datei durch den Benutzer ausgewählt, um zu überprüfen, auf der Client-Seite von javascript.The Code i dafür verwende ist:Filesize durch Javascript

<script type="text/javascript"> 
var myFile = document.getElementById('myfile'); 

    //binds to onchange event of the input field 
    myFile.addEventListener('change', function() { 
    //this.files[0].size gets the size of your file. 
    alert(this.files[0].size); 

    }); 
</script> 

Aber wenn Ich führe den Code, wähle eine Datei, nichts hilft. Jeder Körper sagen Sie mir, was ich falsch mache

Antwort

3

Your code works fine (in HTML5-Browsern mit der Datei-API). Stellen Sie sicher, dass Ihr <script> Block nach das <input> Element ist. In diesem Fall ist es in der "Lade" -Handler.

+0

oder in 'window.onload = function {...}' – mplungjan

+0

@mplungjan ja ich habe die Antwort ein wenig aktualisiert; Ich habe das "onload" kostenlos über jsfiddle bekommen :-) – Pointy

0

Sie können die Dateigröße nicht mit Javascript. Sicherheit im Browser verhindert den Zugriff auf das Dateisystem durch Javascript. Sie müssten Flash oder ActiveX oder etwas verwenden, dem die Berechtigung erteilt werden könnte, dies zu tun, glaube ich.

EDIT: Wenn Sie die HTML5-Datei-API verwenden, dann denke ich, dass Sie dies tun können - aber wie Sie nicht angegeben haben, dass ich nirgends davon ausgegangen, dass dies der Fall war. Ich werde HTML als Tag in deinen Beitrag einfügen.

+4

Er versucht, die HTML-5-Datei-API Ich denke, zu verwenden. – Pointy

0

Werke für mich mit Jquery:

http://jsfiddle.net/UUdcy/

$('#myfile').change(function() { 
    var fileInput = $("#myfile")[0]; 
    var imgbytes = fileInput.files[0].fileSize; // Size returned in bytes. 
    $('body').append('<p>'+imgbytes+'</p>'); 
});​