600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > angular 上传图片并显示_Angularjs实现上传图片预览功能

angular 上传图片并显示_Angularjs实现上传图片预览功能

时间:2023-03-12 07:48:35

相关推荐

angular 上传图片并显示_Angularjs实现上传图片预览功能

废话不多说了,直接给大家贴代码了,具体代码如下所示:

app.factory("fileReader", function($q, $log) {

var onLoad = function(reader, deferred, scope) {

return function () {

scope.$apply(function () {

deferred.resolve(reader.result);

});

};

};

var onError = function (reader, deferred, scope) {

return function () {

scope.$apply(function () {

deferred.reject(reader.result);

});

};

};

var onProgress = function(reader, scope) {

return function (event) {

scope.$broadcast("fileProgress",

{

total: event.total,

loaded: event.loaded

});

};

};

var getReader = function(deferred, scope) {

var reader = new FileReader();

reader.onload = onLoad(reader, deferred, scope);

reader.onerror = onError(reader, deferred, scope);

reader.onprogress = onProgress(reader, scope);

return reader;

};

var readAsDataURL = function (file, scope) {

var deferred = $q.defer();

var reader = getReader(deferred, scope);

reader.readAsDataURL(file);

return deferred.promise;

};

return {

readAsDataUrl: readAsDataURL

};

});

选择图片后执行的方法

$scope.onFileSelect = function(files) {

var fileIn=files[0];

var img = new Image();

var fileType = fileIn.name.substring(fileIn.name.lastIndexOf(".") + 1, fileIn.name.length);

if(fileIn.size>5242880){//单位是B,此处不允许超过5M

alert("图片不能超过5M")

return;

}

if(fileType=='JPG' || fileType=='PNG' || fileType=='JPEG ' || fileType=='jpg' || fileType=='png' || fileType=='jpeg'){

}else{

alert("图片格式只支持:JPG,PNG,JPEG")

return;

}

fileReader.readAsDataUrl(fileIn, $scope)

.then(function(result) {

$scope.imageSrc = result;

console.log(img.width);

});

}

总结

以上所述是小编给大家介绍的Angularjs实现上传图片预览功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。