• HTML5移动端图片上传模块


    上传图片的功能是极为常用的,之前做过一个移动端上传文件的功能(基于jquery的),总结梳理一下。

    html

    <div class="uploadPic clearBox">
        <ul>
            <li>
                <a href="javascript:void(0)" class="add001"><i class="iconfont">&#xe607;</i></a>
                <div class="moxie-shim moxie-shim-html5 upImgBox">
                    <a href="javascript:void(0)" class="del002 iconfont delImg" style="display:none"><span>&#xe605;</span></a>
                    <input id="fileUpload0" type="file" accept="image/png,image/gif,image/jpeg,image/bmp">
                </div>
            </li>
        </ul>
    <div>

    js

    $('#fileUpload0').change(function() {
        uploadImg(this);
    });
    function uploadImg(element){
        var file = element.files[0];
        var $elemt=$(element);
    var $parent = $elemt.parent();
    var imgFileSize = file.size; var loadingImgSrc='/images/global/loading.gif'; if(imgFileSize > 10*1024*1024) { alert(ci18n.imgTooLarge); } else { var uploadComplete=function(evt){ var resJson=JSON.parse(evt.target.responseText); if(resJson.fileurl){ $parent.find('img').attr('src',resJson.fileurl); uploadImgUrls['a'+$elemt.parent().parent().index()]=resJson.fileurl; $parent.find('.delImg').show(); $parent.parent('li').next().show(); } }; var uploadFailed=function(evt){ alert('Net error.'); }; var fd = new FormData(); fd.append('upfile',file); var xhr = new XMLHttpRequest(); xhr.addEventListener('load', uploadComplete, false); xhr.addEventListener('error', uploadFailed, false); xhr.open('POST', '/activity/group-upload'); $parent.append('<img src="'+loadingImgSrc+'">'); xhr.send(fd); } element.value = ''; } $('.delImg').click(function() { var $self=$(this);
    var $parent = $self.parent();
    delete uploadImgUrls['a'+$self.parent().parent().index()]; $parent.find('img').remove(''); $self.hide(); $parent.parent('li').next().hide(); });

    效果:

    点击“+”后会拉起选图片控件,选择之后会显示loading状态,上传成功之后,获取到图片地址之后,框内会显示上传的图片。

    主要用了FromData来实现图片上传,并对于图片大小做了校验。

  • 相关阅读:
    python学习笔记(五)os、sys模块
    Lepus_天兔的安装
    python学习笔记(四)random 、json模块
    python学习笔记(三)函数
    Jenkins的安装及邮件配置
    Nginx+tomcat配置负载均衡集群
    python学习笔记(二)文件操作和集合
    python练习
    Jmeter(十)Linux下配置安装Jmeter及执行测试任务
    Jmeter(九)压力测试
  • 原文地址:https://www.cnblogs.com/linda586586/p/5610802.html
Copyright © 2020-2023  润新知