AngularJS:有什么方法可以获取文件大小吗?

Usm*_*bal 3 javascript filereader angularjs

我实施了一项支票,不想上传尺寸大于的图片4MB。我正在使用file readernew image()。我有图像的大小和宽度。但是,如何获取文件大小。

function previewImage(element) {
  var reader = new FileReader();

  reader.onload = function (event) {
    seAddArtist.imageSource = event.target.result;
    $scope.$apply();
  };
  // when the file is read it triggers the onload event above.
  reader.readAsDataURL(element.files[0]);
}


var img = new Image();
img.onload = function () {
  alert(this.width + 'x' + this.height);
}
Run Code Online (Sandbox Code Playgroud)

我正在实现这两个结合,但如何检查图像的大小?

lin*_*lin 5

FileReaderFileReader API)本身不提供文件的大小。您需要改用filefile API):

function previewImage(element) {
  var reader = new FileReader();

  reader.onload = function(event) {
    seAddArtist.imageSource = event.target.result;
    $scope.$apply();
  };

  // when the file is read it triggers the onload event above.
  reader.readAsDataURL(element.files[0]);

  //log / access file size in bytes
  console.log(element.files[0].size + ' Bytes');

  //log / access file size in Mb
  console.log(element.files[0].size/1024/1024 + ' MB');

  if (element.files[0].size/1024/1024 > 4) {
   console.log('file is bigger than 4MB);
  }
}
Run Code Online (Sandbox Code Playgroud)