上傳圖片至服務器並返回

getObjectURL(event) {
      var files = event.target.files;

      if (!/\/(?:jpeg|png|gif)/i.test(files[0].type)) return;

      if (files && files.length > 0) {
        // 獲取目前上傳的文件
        var file = files[0];

        // this.compress(file);

        // 來在控制檯看看到底這個對象是什麼
        // console.log(file);
        // 那麼我們可以做一下諸如文件大小校驗的動作
        if (file.size > 1024 * 1024) {
          this.compress(file);
          return false;
        }

        // !!!!!!
        // 下面是關鍵的關鍵,通過這個 file 對象生成一個可用的圖像 URL
        // 獲取 window 的 URL 工具
        var URL = window.URL || window.webkitURL;
        // 通過 file 生成目標 url
        var imgURL = URL.createObjectURL(file);
        // 用這個 URL 產生一個 <img> 將其顯示出來
        this.headImg = imgURL;
        // 使用下面這句可以在內存中釋放對此 url 的伺服,跑了之後那個 URL 就無效了
        // URL.revokeObjectURL(imgURL);
      }

      var formData = new FormData();
      formData.set("files", files[0]);
      upImg(formData).then(res => {
        this.imgURL = res.data;
        this.updateUserInfo({ headPhoto: this.imgURL });
      });
    },
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章