BLOB (binary large object) 二进制大对象
BLOB简介:
BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。
在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。
BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。
但也有专家强调,这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。在数据库中存放体积较大的多媒体对象就是应用程序处理BLOB的典型例子。
1、DataURL
html页面代码:
<div> <input type="file" id="myImgFile"> <img src="" id="myImg"/> </div>
JS脚本代码:
myImgFile.addEventListener("change",previewWithDataURL) function previewWithDataURL() { var reader = new FileReader(); reader.readAsDataURL($("#myImgFile")[0].files[0]); reader.onload = function (event) { $("#myImg").attr("src", event.target.result); } }
2、ObjectURL
html页面代码:
<input type="file" id="myMusicFile"> <audio controls="controls" src="" id="myMusic"></audio>
JS脚本代码:
myMusicFile.addEventListener("change",previewWithObjectURL) function previewWithObjectURL() { var target = event.target.files[0]; var url = URL.createObjectURL(target); myMusic.src = url; myMusic.play(); }