首页 > 其他分享 >JS实现本地预览上传图片并获取宽高

JS实现本地预览上传图片并获取宽高

时间:2022-11-15 09:46:21浏览次数:46  
标签:files 预览 宽高 JS replaceSrc file reader var 图片

<input type="file" accept="image/jpg,image/jpeg,image/png" name="file" onchange="selectImg(this)">
<br>
<img id="showImg" src="" alt="" width="">
function selectImg(file) {
    if (!file.files || !file.files[0]) {
        return;
    }
    //定以一个读取文件的对象
    var reader = new FileReader();
   
    reader.onload = function (evt) {
        //获取的是图片的base64代码
        var replaceSrc = evt.target.result;
        // 再将获取值赋给img标签
        $('#showImg').attr("src", replaceSrc);
    };
    reader.readAsDataURL(file.files[0]);
}

上面就实现了上传图片是本地预览图片了。

我们可以通过下面这句代码获得图片的其他信息↓

console.log(file.files);

可以从上面的截图看到,有图片的名字、大小、格式等。但是没有图片的宽度和高度,获取图片的宽度和高度需要用到Image() 对象。

function selectImg(file) {
    if (!file.files || !file.files[0]) {
        return;
    }
    //定以一个读取文件的对象
    var reader = new FileReader();

    reader.onload = function (evt) {
        //获取的是图片的base64代码
        var replaceSrc = evt.target.result;

        //定义一个Image对象
        var image = new Image();
        image.src = replaceSrc;
        console.log("图片宽度:" + image.width + " px");
        console.log("图片高度:" + image.height + " px");

        // 再将获取值赋给img标签
        $('#showImg').attr("src", replaceSrc);
    };
    reader.readAsDataURL(file.files[0]);
}

 

标签:files,预览,宽高,JS,replaceSrc,file,reader,var,图片
From: https://www.cnblogs.com/limonyun/p/16891363.html

相关文章

  • js输入与输出语法
    1.输出语法:document.write('要输出的内容');//意思是在文档中写出一句话向body内输出内容如果输出的内容写的是标签,也会被解析成网页元素alert('要输出......
  • Protocol Buffer&Json&Xml
    ProtocolBuffer、Json、Xml都是一种数据交换格式(对通信双方要交换信息的组织方式进行了定义),都独立于语言及平台。ProtocolBuffer是基于二进制的,message对象序列化后......
  • 本地部署 geojson.io
    geojson.io临时用来看geojson文件位置对不对十分方便。与之类似的在vscode有插件mappriview用法如下:官网http://geojson.io/已经无法访问了,临时替代网站有......
  • JS问题 only URL changes and page is refreshed but not totally reloaded.
    Ihaveusedhashurlsformywebsiteandmadesafariextensionforthesame.Forlogin/logoutmyextensionopensourdmain.ininnewtabandlistenstoupdatem......
  • Create 1select+jdbc+jsp
    <formaction="UserServlet"method="get"> 查询条件:<inputtype="text"placeholder="输入用户名模糊查询"name="userName"> <inputtype="submit"value="搜索"> <in......
  • 如何在 .NET MAUI 中加载 json 文件?
    引言:按core传统方式添加AddJsonFile("appsettings.json")在windows平台和ssr工作正常,但是在ios和android无法用这种方式,因为资源生成方式不一样.使用内置资源方......
  • js无需插件实现复制功能
    constcopy=(item)=>{letcopyInput=document.createElement("input");//创建input元素document.body.appendChild(copyInput);//向页面底部追加输入框c......
  • js 实现元素拖拽
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metanam......
  • js实现点击除自身外的元素执行操作:如关闭自身弹框
    (1条消息)js实现点击除自身外的元素执行操作:如关闭自身弹框_story_in_sh的博客-CSDN博客......
  • 用Python解析dolphinscheduler的json并存入到mysql
    第一步连接dolphinscheduler数据库SELECT*FROMdolphinscheduler2.t_ds_process_definitionWHEREproject_id=150005;把process_definition_json值的内容复制出来,保......