【发布时间】:2018-10-20 20:23:25
【问题描述】:
我有一个文件输入,然后在添加后预览图像。图像显示,但我得到:
Uncaught TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'."
是什么原因造成的,他们肯定不会显示吗?
$('#image-upload-input').on('change', function() {
var files = document.getElementById('image-upload-input').files;
for (var key in files) {
if (files[key]) {
var reader = new FileReader();
reader.onload = function(e) {
$('.image-upload-container').append('<img src="'+ e.target.result +'" style="width: 100px;">');
}
reader.readAsDataURL(files[key]);
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="image-upload-input" type="file" multiple>
<div class="image-upload-container"></div>
【问题讨论】:
-
尝试使用文件阅读器查看您正在阅读的内容。在
for...in的每次迭代中创建console.dir(files[key]) -
这会给你文件对象
-
您尝试过还是只是假设?
-
我在发布之前尝试过,以确保 for 循环返回正确的数据。
标签: javascript file blob