zoukankan      html  css  js  c++  java
  • file上传图片并展示

    最近项目中要求上传图片并展示,在网上搜索了很多资料,整合了一个方案如下:

    body部分

    <div class="photoShow">
    <a href="javascript:;" class="file">选择图片
    <input type="file" id="fileUpload">
    </a>
    <div class="imageContainer">
    <img id="preview"/>
    </div>
    </div>
    Style部分
    .file {
    position: relative;
    display: inline-block;
    background: #D0EEFF;
    border: 1px solid #99D3F5;
    border-radius: 4px;
    padding: 4px 12px;
    overflow: hidden;
    color: #1E88C7;
    text-decoration: none;
    text-indent: 0;
    line-height: 20px;
    }
    .file input {
    position: absolute;
    font-size: 100px;
    right: 0;
    top: 0;
    opacity: 0;
    }
    .file:hover {
    background: #AADFFD;
    border-color: #78C3F3;
    color: #004974;
    text-decoration: none;
    }
    .imageContainer{
    margin-top: 10px;
    }
    .imageContainer img{
    200px;
    height: 200px;
    }
    script部分
    首先引入jquery文件;
    $("#fileUpload").on("change",function () {
    var $file = $(this);
    var fileObj = $file[0];
    var windowURL = window.URL || window.webkitURL;
    var dataURL;
    var $img = $("#preview");

    if (fileObj && fileObj.files && fileObj.files[0]) {
    dataURL = windowURL.createObjectURL(fileObj.files[0]);
    $img.attr('src', dataURL);
    } else {
    dataURL = $file.val();
    var imgObj = $("#preview");
    // 两个坑:
    // 1、在设置filter属性时,元素必须已经存在在DOM树中,动态创建的Node,也需要在设置属性前加入到DOM中,先设置属性在加入,无效;
    // 2、src属性需要像下面的方式添加,上面的两种方式添加,无效;
    imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
    imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL;
    }
    });
    效果图如下:

    以上只是简单的demo,仅供参考!
  • 相关阅读:
    mysql高并发配置
    php xml转array的方法
    双系统,一系统损坏后的解决方案之硬盘启动
    最长公共前缀
    罗马数字转整数
    回文数
    整数反转
    一、数组---两数之和
    从尾到头打印链表
    替换空格
  • 原文地址:https://www.cnblogs.com/lingdu87/p/7888874.html
Copyright © 2011-2022 走看看