廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:
<input type="file" ng-file-select="onFileSelect($files)" accept="image/*"> 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實現上傳圖片預覽功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com