html5读取本地图片多张图片并预览
日期:2020-05-09
来源:程序思维浏览:2844次
我们在做开发的时候,会遇到读取本地图片并显示在页面上,那么用h5如何实现呢?
方法一:实现本地图片预览(单张),URL.createObjectURL(file)
URL.createObjectURL()创建一个新的对象URL,该对象URL可以代表某一个指定的File对象或Blob对象.
html代码
<input type="file" id="changeMore">
<div id="ImgCon"></div>
js代码
方法一:实现本地图片预览(单张),URL.createObjectURL(file)
URL.createObjectURL()创建一个新的对象URL,该对象URL可以代表某一个指定的File对象或Blob对象.
html代码
<input type="file" id="changeMore">
<div id="ImgCon"></div>
js代码
function changeM(){
var inputJ = $("#changeMore"),
input = inputJ[0],
Con = $("#ImgCon");
inputJ.change(function(e){
var file = e.target.files[0],//拿到原始对象
thisType = file.type,//获取到表面的名称,可判断文件类型
thisSize = file.size,//文件的大小
thisSrc = URL.createObjectURL(file),//当前对象的地址
img = $('<img>').attr('src',thisSrc);//创建img对象
//文件加载成功以后,渲染到页面
img.load(function(){
Con.append(img);
URL.revokeObjectURL(thisSrc);//释放内存
});
});
}//
changeM();
方法2:实现本地图片预览(单张),FileReader()
<input type="file" id="changeMore">
<div id="ImgCon"></div>
function changeM(){
var inputJ = $("#changeMore"),
input = inputJ[0],
Con = $("#ImgCon");
inputJ.change(function(e){
var file = e.target.files[0],//拿到原始对象
thisType = file.type,//获取到表面的名称,可判断文件类型
thisSize = file.size,//文件的大小
reader = new FileReader();
//readAsDataURL(file),读取文件,将文件以数据URL的形式保存在result的属性中
reader.readAsDataURL(file);
//文件加载成功以后,渲染到页面
reader.onload = function(e) {
var $img = $('<img>').attr("src", e.target.result);
Con.append($img)
}
});
}//changeM end!
changeM();
方法三:实现本地图片预览(多张)
方法和前两种一样,input加上multiple="multiple"这个属性,拿到的是一个数组,原理都是一样的。
<input type="file" id="changeMore" multiple="multiple">
<div id="ImgCon"></div>
function changeM(){
var inputJ = $("#changeMore"),
input = inputJ[0],
Con = $("#ImgCon");
inputJ.change(function(e){
var files = e.target.files,//拿到file数组
thisSrc = '';//当前的地址
for(var i = 0; i < files.length; i++ ){
thisSrc = URL.createObjectURL(files[i]);
//文件加载成功后渲染
$('<img>').attr('src',thisSrc).load(function(){
Con.append( this );
URL.revokeObjectURL(thisSrc);//释放内存
});
}
});
}//
changeM();
好了html5读取本地图片多张图片并预览,就讲到这里,希望对大家有帮助。
方法2:实现本地图片预览(单张),FileReader()
<input type="file" id="changeMore">
<div id="ImgCon"></div>
function changeM(){
var inputJ = $("#changeMore"),
input = inputJ[0],
Con = $("#ImgCon");
inputJ.change(function(e){
var file = e.target.files[0],//拿到原始对象
thisType = file.type,//获取到表面的名称,可判断文件类型
thisSize = file.size,//文件的大小
reader = new FileReader();
//readAsDataURL(file),读取文件,将文件以数据URL的形式保存在result的属性中
reader.readAsDataURL(file);
//文件加载成功以后,渲染到页面
reader.onload = function(e) {
var $img = $('<img>').attr("src", e.target.result);
Con.append($img)
}
});
}//changeM end!
changeM();
方法三:实现本地图片预览(多张)
方法和前两种一样,input加上multiple="multiple"这个属性,拿到的是一个数组,原理都是一样的。
<input type="file" id="changeMore" multiple="multiple">
<div id="ImgCon"></div>
function changeM(){
var inputJ = $("#changeMore"),
input = inputJ[0],
Con = $("#ImgCon");
inputJ.change(function(e){
var files = e.target.files,//拿到file数组
thisSrc = '';//当前的地址
for(var i = 0; i < files.length; i++ ){
thisSrc = URL.createObjectURL(files[i]);
//文件加载成功后渲染
$('<img>').attr('src',thisSrc).load(function(){
Con.append( this );
URL.revokeObjectURL(thisSrc);//释放内存
});
}
});
}//
changeM();
好了html5读取本地图片多张图片并预览,就讲到这里,希望对大家有帮助。
精品好课