js上传图片

注意:上传文件一般使用的是input标签,如果想要改样式,让input不显示,可以把input标签放入<leabel>标签中,然后让input标签 display:none;

案例1:上传单个图片,添加按钮不消失

html

<div class="addPicture clearfix">
    <!-- 图片显示区域 -->
    <div class="addPictureImg"></div>
    <!-- 添加图片 -->
    <div class="addPictureDiv">
        <label class="pictureDivCon">
          <input type=‘file‘ id="imgInp">
           <i class="iconfont icon-tianjiatupian"></i>
           <p>点击添加图片</p>
        </label>
    </div>
</div> 

css

.addPictureImg {
    width: 28%;
    float: left;
    position: relative;
    display: none;
    margin-right: 1rem;
    margin-bottom: 1rem;
}
.addImg1{
    width: 100%;
    height: 80px;
    display: inline-block;
}
.addPictureDiv {
    float: left;
    width: 28%;
    height: 80px;
    text-align: center;
    margin-right: 1rem;
    background-color: #EBEBEB;
    vertical-align: middle;
}
.pictureDivCon {
    margin-top: 2rem;
    display: block;
}
.pictureDivCon input{
    display: none;
}
.addPictureDiv i{
    font-size: 3rem;
    color: #50A4FA;
}
.addPictureDiv p {
    font-size: 0.8rem;
}

js

//上传图片
function readURL(input) {
    if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
                $(‘#blah‘).attr(‘src‘, e.target.result);
            };
            reader.readAsDataURL(input.files[0]);
        }
    }
    $("#imgInp").change(function(){
        readURL(this);
    });

    //上传文件的图片
    var addPictureImgdy = $(‘.addPictureImg‘)
    //点击input时动态创建Img
    for(var i=0; i<10; i++) {
        $(‘#imgInp‘).click(function() {
           var str = "<img src=‘#‘ alt=‘添加图片‘ class=‘addImg1‘ id=‘blah‘><i class=‘iconfont icon-guanbi addPictureClose‘></i>"
            $(‘.addPictureImg‘).html(str)
            $(‘.addPictureImg‘).css(‘display‘,‘block‘)
            //点击关闭图标删除图片
            $(‘.addPictureClose‘).click(function() {
                $(this).parent().css(‘display‘,‘none‘);
            });
         });
    }

案例2:上传图片,图片覆盖添加按钮

html

<div class="purchConRight uploadImg">
        //此处的添加图片按钮是个图片
    <img src="../../uploads/camera.png" width="100" height="100">
    <input type="file" onchange="uploads(this)"/>
</div>

css

.uploadImg{
    position: relative;
}
.uploadImg input[type=file]{
    position: absolute;
    left: 0;
    height: 100px;
    width: 100px;
    opacity: 0;
}

js

function uploads(fileDom) {
    //判断是否支持FileReader
    if (window.FileReader) {
        var reader = new FileReader();
    } else {
        alert("您的设备不支持图片预览功能,如需该功能请升级您的设备!");
    }
    //获取文件信息
    var file = fileDom.files[0];
    var imageType = /^image\//;
    //是否是图片
    if (!imageType.test(file.type)) {
        alert("请选择正确的图片!");
    }else {
    //读取完成
            reader.onload = function (e) {
                //获取图片dom
                var img = $(fileDom).prev();
                //图片路径设置为读取的图片
                img[0].src = e.target.result;
            };
            reader.readAsDataURL(file);
    }
}
时间: 2024-11-09 19:14:44

js上传图片的相关文章

关于ajaxfileupload.js上传图片使用历程(struts2)

因为要使用上传图片功能,附加图片的描述信息, 而传统的<s: file/>由于一些限制在这个小模块中无法使用, 于是搜到了使用ajaxfileupload.js插件进行上传的方法,在使用过程中,jsp,js,struts2 因为自己不熟悉ajax的情况出了许多的小问题,在这里记录一下, 方便自己查看,也希望能帮到他人, 首先说一下思路,通过点击上传直接触发js 的function 调用后台把图片拷贝到指定服务器目录,返回保存的路径到前台,然后跟随图片描述信息一起用ajax异步传到后台.(PS:

原生 js 上传图片

js <!doctype html> <html> <head> <meta charset="utf-8"> <title>js上传图片</title> </head> <body> <input id="file" type="file"> <script type="text/javascript">

js 上传图片、压缩、旋转

html <!doctype html> <html> <head> <meta charset="utf-8"> <title>js上传图片</title> <script src="Script/plugins/0com/exif.js"></script> </head> <body> <input id="file"

js 上传图片本地预览缓存

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>文件上传</title> <script src="jQuery.js"></script> <style type="text/css"> #file{ display: block; width: 400px; heigh

js上传图片&amp;预览(filereader)

fileReader HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简单,可以按照如下步骤创建FileReader对象并调用其方法: 1.检测浏览器对FileReader的支持 if(window.FileReader) { var fr = new FileReader(); // add your code here } else { ale

struts整合dropzone.js上传图片遇到的点问题

问:struts后台无法获取文件对象和文件名称? 答:1. 到dropzone.js搜索"return xhr.send(formData);" 2. 在它前面有个这么句代码: for (i = _m = 0, _ref5 = files.length - 1; 0 <= _ref5 ? _m <= _ref5 : _m >= _ref5; i = 0 <= _ref5 ? ++_m : --_m) { formData.append(this._getPara

js上传图片获取图片地址,兼容苹果

别人写的一个例子我记下了先,自己测试通过的 是别人分享的页面,原作者我是不知道了,感谢原作者写的代码 下面是代码:全部复制就是例子 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="//cdn.bootcss.com/jquery/1.8.3/jquery.js"><

js上传图片预览

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">

Js上传图片,兼容ie

var upImg_config = { e0:'上传出错,请重试!', e2:'今日上传超过限制次数', e3:'照片格式不符合要求!', e4:'上传出错,请重试!', e5:'照片大小超过限制!', e6:'照片不能小于0M!' } //检查是什么浏览器 function getExplorer() { var explorer = window.navigator.userAgent ; if (explorer.indexOf("MSIE") >= 0) {//ie r