上傳照片或影片如果要預覽功能,能怎麼結合?(同一個 input)
這個是圖片時的預覽圖
$('input[type=file]').change(function() {
var input = $(this);
if(!!this.files && !!this.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#pre' + input.prop('id').substr(4,2)).prop('src', e.target.result);
}
reader.readAsDataURL(this.files[0]);
}
});
這是添加影片預覽圖
$(document).on("change", ".file_multi_video", function(evt) {
var $source = $('#video_here');
$('.video_show').show();
$source[0].src = URL.createObjectURL(this.files[0]);
$source.parent()[0].load();
});
只是當初我寫的時候影片上傳和照片上傳是分開的:
<input type="file" name="video" class="file_multi_video upload_cover" accept="video/*">
<video autoplay muted class="video_show displayNone">
<source src="<?=$editBlog['video'];?>" id="video_here">
</video>
所以會有兩個上傳 input
只是我現在都寫在同一個
<input type="file" id="file02" name="cover" class="upload_cover" accept="image/jpeg, image/png, image/jpg, video/*">
只是我不知道怎麼整合上傳照片的時候是使用第一個 function
如果是影片上傳則是另一個 function 來預覽?
請問能怎麼實現?
如何在 input change 中判斷?或有其他更好的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
其实就是根据文件类型来判断就可以了。
通过
event.files[0].type
判断,应该是image/*
和video/*
。