美文网首页
上传本地图片并预览

上传本地图片并预览

作者: 持续积累 | 来源:发表于2017-04-04 17:47 被阅读22次
上传后预览功能,不涉及后端

https://segmentfault.com/q/1010000005639819
http://codepen.io/Atinux/pen/qOvawK/

//方法1:
$('#onload-btn').change(function () {
    var imgFile = this.files[0];
    var fr = new FileReader();
    fr.onload = function () {
        $('#QR').attr("src", fr.result);
    };
    fr.readAsDataURL(imgFile);
});

//方法2:
$('#onload-btn').change(function () {
    var src = window.URL.createObjectURL(this.files[0])//这里传一个文件对象 例如:file.files[0]
    $('#QR').attr("src", src);
});

//方法3:
<div id="app">
  <div v-if="!image">
    <h2>Select an image</h2>
    <input type="file" @change="onFileChange">
  </div>
  <div v-else>
    ![](image)
    <button @click="removeImage">Remove image</button>
  </div>
</div>

new Vue({
  el: '#app',
  data: {
    image: ''
  },
  methods: {
    onFileChange(e) {
      var files = e.target.files || e.dataTransfer.files;
      if (!files.length)
        return;
      this.createImage(files[0]);
    },
    createImage(file) {
      var image = new Image();
      var reader = new FileReader();
      var vm = this;

      reader.onload = (e) => {
        vm.image = e.target.result;
      };
      reader.readAsDataURL(file);
    },
    removeImage: function (e) {
      this.image = '';
    }
  }
})

相关文章

网友评论

      本文标题:上传本地图片并预览

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