美文网首页
JS 从相册中选择、预览、上传单张图片

JS 从相册中选择、预览、上传单张图片

作者: 傲游的虾米 | 来源:发表于2017-04-07 14:17 被阅读0次

前段时间基于微信公众号做了一个投票的活动。项目中涉及到用户报名需要添加图片,整理下上传图片的代码,希望对大家有帮助

<--tpl文件-->
//input选择文件,直接隐藏,js里添加onClick方法
<input class="imageinput" style="display: none;" type="file" accept="image/jpeg,image/jpg,image/png">

//为选择图片前的样式,
<div class="input_ImageItem">
//选择图片的按钮
    ![](./img/img_load.png)//这是一个img标签,显示错误 id="chooseImage" class="chooseImage"
    <span class="upLoadText">上传合照.png</span>
</div>

//选择图片之后的样式
<div class="showImage" style="display: none;">
   //用于展示图片的img
    <img class="imageView"/>
    //更换图片的按钮
    ![](img/ima_resert.png)//这是一个img标签,显示错误class="alertImage"
</div>

<div class="input_box" id="user_box" data-opid="{%$openid%}">
    ![](./img/img_submit.png)//这是一个img标签,显示错误class="btn_submit" 
</div>
<--js文件-->
//用于保存选择的图片的base64编码的数据
var imagUrl;
var init = function(){
    bindActive();
}

function bindActive(){
    //点击时调用input选择图片
    $(".input_ImageItem").on('click', function() {
        console.log('选择图片')
        //调用input
        $(".imageinput").click();
    })
    //点击时调用input选择图片
    $(".alertImage").on('click', function() {
        console.log('选择图片')
        $(".imageinput").click();
    })

    //input选择文件后调用的方法
    $(".imageinput").change(function() {
        didLoadImage(this);
    });
    $(".input_box").on('click',function(){
       submit();
    })
}

function didLoadImage(x){
    //取出选择的图片
    var fileInput = x.files[0];
    //判断是否选择了图片
    if(x.files && x.files[0]) {
        var reader = new FileReader();
        reader.onload = function(e) {
            //此处得到是图片的base64编码数据
            imagUrl = e.target.result;
            console.log(e);
            $(".imageView").attr('src', imagUrl);
            //展示哪个样式
            if(imagUrl) {
                $('.showImage').css('display', 'inline-flex');
                $(".input_ImageItem").css('display', 'none');
            } else {
                $(".upLoadText").css('display', 'inline-flex');
                $(".imageView").css('display', 'none');
            }
        };
        reader.readAsDataURL(x.files[0]);
    }
}

//手动提交方式:点击提交按钮后直接把imagUrl当做参数传给后台,后台把imagUrl解析就是该图片(imagUrl是图片的base64编码后的数据)
function submit(){
}

效果图如下


图片.png 图片.png

有什么问题可以在下面评论,大家一起探讨
后面会整理多张图片的选择、预览、上传

相关文章

  • JS 从相册中选择、预览、上传单张图片

    前段时间基于微信公众号做了一个投票的活动。项目中涉及到用户报名需要添加图片,整理下上传图片的代码,希望对大家有帮助...

  • 上传图片到服务器

    上传单张图片//上传图片(单张) }

  • iOS-单张及多张照片的选择

    一.从相册里面选择图片到App中 1.选择单张 2.多张图片选择(图片数量>2) 二.利用相机拍一张照片到APP ...

  • 小程序原生API收集--媒体API

    1、从相册选择图片,或使用相机拍照 2、预览图片 3、获取图片信息 4、保存图片到系统相册

  • 无标题文章

    iOS 上传图片到服务器 1.单张图片上传 //上传图片(单张)+(void)uploadPhotoAndCont...

  • uni-app 更换用户头像功能-涉及图片的预览 选择

    需求: 用户可以预览当前头像, 可以从本地上传 点击图片出现操作菜单 操作菜单api预览图片api选择图片api ...

  • vue多图上传到阿里云

    结合这两篇文章小程序选择图片、预览,上传到阿里云和阿里云上传图片 引入js 做循环判断上传成功后再上传下一张图 循...

  • 项目总结 - 8.2

    如何获取手机系统相册中的图片 单张 多张 示例代码

  • js图片上传预览

    项目中碰到一个需求,上传图片及时给用户预览。开始的想法就是上传的图片先传递到后台,在通过ajax获取图片路径显示到...

  • JS图片上传预览

    划水摸鱼的时候研究了JS图片的上传预览,分别是FileReader()、createObjectURL(),在此分...

网友评论

      本文标题:JS 从相册中选择、预览、上传单张图片

      本文链接:https://www.haomeiwen.com/subject/qpchattx.html