[英]How can I get the filename from the FileReader function in a Multiple Input?
我有以下代码:
<input type="file" multiple='multiple'>
<div id="thumbs"></div>
<script type="text/javascript">
$('input[type="file"]').change(function() {
$('#thumbs').html('');
$.each(this.files, function() {
readURL(this);
})
});
function readURL(file) {
var reader = new FileReader();
reader.onload = function(e) {
$('#thumbs').append('<img src="' + e.target.result + '" width="20%">')
$('#quantity').text(i)
}
reader.readAsDataURL(file);
}
</script>
这是一个多上传输入。 当我选择“x”图片时,它会为它们创建缩略图。 这完全有效,但我想知道如何获取文件名(如果图片名为“sun.jpg”,我想得到“sun”),并将它们附加到图片中。 我试过这个:
$('#thumbs').append('<img src="' + e.target.result + '" width="20%"><p>'+e.name+'</p>')
但是e.name
是undefined
。
这是一切的小提琴: https : //jsfiddle.net/ugs6rzqx/1/
任何帮助,将不胜感激。 谢谢。
有关该文件的详细信息,FileReader的事件对象很少。 在回调内部,您可以访问普通的File对象,该对象仍然具有名称,日期和大小等所有文件元信息。
您的代码只需要使用file
而不是e
$('#thumbs').append('<img src="' + e.target.result + '" width="20%"><p>'+file.name+'</p>')
如果你只是想要这个名字:
$('#thumbs').append('<img src="' + e.target.result + '" width="20%"><p>'+file.name.split('.')[0]+'</p>')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.