上传本地图片并预览

上传后预览功能,不涉及后端

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 = '';
    }
  }
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容