2015-10-05 2 views
1

Я пишу программу для загрузки файла и его кодирования с помощью md5. Я получаю эту ошибку:Uncaught TypeError: Не удалось выполнить 'readAsBinaryString' в 'FileReader': параметр 1 не относится к типу 'Blob'

Uncaught TypeError: Failed to execute 'readAsBinaryString' on 'FileReader': parameter 1 is not of type 'Blob'.

Что я делаю неправильно?

<!DOCTYPE html> 
<head> 
<head> 
<meta charset="UTF-8"> 
<script> 
function handleFiles() { 
    var md5; 
    files=document.forms["myform"]["files"].value; 
    var reader = new FileReader(); 
    reader.onload = function() { 
     md5 = binl_md5(reader.result, reader.result.length); 
     console.log("MD5 is " + md5); 
    }; 
    reader.onerror = function() { 
     console.error("Could not read the file"); 
    }; 
    reader.readAsBinaryString(files[0]);  
} 
</script> 
</head> 
<body> 

<form name="myform" id="myform" method="post" action="" enctype="multipart/form-data"> 
    <input type="file" name="files"> 
    <input type="submit" value="upload" onclick="handleFiles()"> 
</form> 
</body> 
</html> 

ответ

0

Попробуйте с:

files=document.forms["myform"]["files"].files; 
+0

Попробуйте добавить ссылку на тип объекта так, что становится очевидным, почему с помощью 'files' атрибут является правильным способом получения списка файлов. –

Смежные вопросы