zoukankan      html  css  js  c++  java
  • html5 图片上传demo

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <style>
      .a-upload {
        padding: 4px 10px;
        height: 20px;
        line-height: 20px;
        position: relative;
        cursor: pointer;
        color: #888;
        background: #fafafa;
        border: 1px solid #ddd;
        border-radius: 4px;
        overflow: hidden;
        display: inline-block;
        *display: inline;
        *zoom: 1
    }
    
    .a-upload  input {
        position: absolute;
        font-size: 100px;
        right: 0;
        top: 0;
        opacity: 0;
        filter: alpha(opacity=0);
        cursor: pointer
    }
    
    .a-upload:hover {
        color: #444;
        background: #eee;
        border-color: #ccc;
        text-decoration: none
    }
        .test{
          width: 100px;
          height: 100px;
          background:rgba(0,0,0,0.2); filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F000000,endcolorstr=#7F000000);
        }
        .upload{
          width: 100px;
          height: 40px;
          padding: 5px 10px;
          position: relative;
          overflow: hidden;
          background: red;
          cursor: pointer;
          border-radius: 5px;
          line-height: 40px;
          text-align: center;
        }
        .upload:hover{
          background: firebrick;
        }
        .upload input{
          font-size: 200px;
          position: absolute;
          opacity: 0;
          -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
          filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
          top: 0;
          right: 0;
          cursor: pointer;
        }
      </style>
    </head>
    <body>
    <div class="test">
      豆腐干豆腐
    </div>
      <div  class="a-upload">
    <input type="file" name="" id="">点击这里上传文件
    </div>
    <div class="upload">
      <input type="file" id="img" multiple>
      上传图片
    </div>
    <div id="imgBox">
    
    </div>
    </body>
    <script>
      var imgEle=document.getElementById("img");
      var arr=[];
      imgEle.addEventListener("change",function (e) {
        // 获取文件列表对象
        var files = e.target.files || e.dataTransfer.files;
        for (var i = 0, file; file = files[i]; i++) {
          if (file.type.indexOf("image") == 0) {
            if (file.size >= 512000) {
              alert('您这张"'+ file.name +'"图片大小过大,应小于500k');
            } else {
              var reader = new FileReader();
              reader.onload = function(e) {
                var imgB=document.getElementById("imgBox");
                var imgEle=document.createElement("img");
                imgEle.setAttribute("src",e.target.result);
                imgB.appendChild(imgEle);
              };
              reader.readAsDataURL(file);
              arr.push(file);
            }
          } else {
            alert('文件"' + file.name + '"不是图片。');
          }
        }
        console.log(arr);
      })
    //  上传
            var xhr = new XMLHttpRequest();
              // 文件上传成功或是失败
              xhr.onreadystatechange = function(e) {
                if (xhr.readyState == 4) {
                  if (xhr.status == 200) {
          //          成功
                    }
                  } else {
          //          失败
                  }
                }
              };
          
              // 开始上传
              xhr.open("POST", url, true);
              xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
              var fd = new FormData();
              fd.append("myPhoto", files[0]);
              //执行发送 
              xhr.send(fd);
    </script>
    </html>
  • 相关阅读:
    Leetcode 92. Reverse Linked List II
    Leetcode 206. Reverse Linked List
    Leetcode 763. Partition Labels
    Leetcode 746. Min Cost Climbing Stairs
    Leetcode 759. Employee Free Time
    Leetcode 763. Partition Labels
    搭建数据仓库第09篇:物理建模
    Python进阶篇:Socket多线程
    Python进阶篇:文件系统的操作
    搭建数据仓库第08篇:逻辑建模–5–维度建模核心之一致性维度2
  • 原文地址:https://www.cnblogs.com/joesbell/p/6144686.html
Copyright © 2011-2022 走看看