Javascript非常慢?将图像文件转换为base64时
我正在用这个代码做一个基本的图像上传Javascript非常慢?将图像文件转换为base64时,javascript,angularjs,Javascript,Angularjs,我正在用这个代码做一个基本的图像上传 $scope.fileChanged = function () { var fileuploader = angular.element("#uploadFile"); var reader = new FileReader(); reader.onload = function () { var image = document.getElementById("image"); image.s
$scope.fileChanged = function () {
var fileuploader = angular.element("#uploadFile");
var reader = new FileReader();
reader.onload = function () {
var image = document.getElementById("image");
image.src = reader.result;
image.style.opacity = 1;
$scope.image = reader.result;
};
var files = fileuploader[0].files;
reader.readAsDataURL(files[0]);
fileuploader.trigger('click');
};
html
//这需要很多秒才能出现
<div class="col-md-6">{{image}}</div>
{{image}
数据URL已过时,因为它们会消耗时间和内存
改为使用对象URL:
var image = document.getElementById("image");
image.src = URL.createObjectURL(files[0]);
对象URL更高效、更快
有关详细信息,请参阅
onchange=“angular.element(this.scope().fileChanged()”
,好像是从应用程序外部访问范围一样?您不使用ng change=“fileChange()”
?@ShaunE.Tobiasng model
指令和ng change
指令不适用于开箱即用的
。看见
<div class="col-md-6">{{image}}</div>
var image = document.getElementById("image");
image.src = URL.createObjectURL(files[0]);