美文网首页
上传图片

上传图片

作者: 张宪宇 | 来源:发表于2022-12-18 11:40 被阅读0次
<!doctype html>
<html>
<head>
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
<link href='' rel='stylesheet' type='text/css' /><style type='text/css'>
</style>
</head>
<body class='typora-export' >
  <div>
    单文件上传:
    <input type="file" value="" id="file" accept="image/*">
    <!-- 本地预览 -->
    <img alt="暂无图片" id="myImg" style="width:200px">
    <button id="upload">上传</button>
  </div>
  <div class="lists">

  </div>
</body>
<script>
  var input = document.querySelector('#file') //上传的文件
  var upload = document.querySelector('#upload') //上传的按钮
  var myImg = document.querySelector('#myImg') //图片

  // 上传
  upload.onclick= function(){
    // 浏览器是否支持 html5
    var files = input.files ? input.files :[]
    console.log(files)
    if(!files.length || !window.FileReader){
      console.log('浏览器不支持')
      return false;
    }
    //ajax
    var fd = new FormData() //通过formdata将文件转成二进制数据流
    fd.append('file',files[0])

    var request = new XMLHttpRequest();
    request.open('post','http://xxxx/upload/single')
    request.send(fd);
    request.onreadystatechange  = function(){
      if(request.readyState == 4 & request.status==200){
        alert('上传成功')
      }
    }
  }

  input.onchange = function(e){
    // 浏览器是否支持 html5
    var files = input.files ? input.files :[]
    console.log(files)
    if(!files.length || !window.FileReader){
      console.log('浏览器不支持')
      return false;
    }
    //单个 获取文件对象
    // console.log(e.target)
    // var file = e.target.files[0]
    // var reader = new FileReader() //是一种异步文件读取
    // reader.readAsDataURL(file)  //转成base64
    // reader.onload = function(event){
    //   console.log(event)
    //   myImg.src = event.target.result;
    // }

    // 多个
    for(var i = 0 ; i < e.target.files.length ; i++){
      var img = document.createElement('img')
      img.width=1000;
      var file = e.target.files[i] //当前文件
      console.log(file)
      if(!(/^image\/.*$/i.test(file.type))){
        continue; //不是图片 就跳出这次循环
      }
      var thisSrc = URL.createObjectURL(file)
      img.setAttribute('src' , thisSrc)
      img.onload = function(){
        imgs.append(this)
        URL.revokeObjectURL(thisSrc)
      }
    }


  }
</script>
</html>

相关文章

网友评论

      本文标题:上传图片

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