首頁  >  文章  >  web前端  >  Angularjs實作圖片預覽上傳

Angularjs實作圖片預覽上傳

php中世界最好的语言
php中世界最好的语言原創
2018-04-18 14:08:171883瀏覽

這次帶給大家Angularjs實作圖片預覽上傳#,Angularjs實作圖片預覽上傳的注意事項有哪些,以下就是實戰案例,一起來看一下。

廢話不多說了,直接給大家貼程式碼了,具體程式碼如下圖:

<input type="file"ng-file-select="onFileSelect($files)"accept="image/*">
app.factory("fileReader",function($q, $log) {
      varonLoad =function(reader, deferred, scope) {
        returnfunction() {
          scope.$apply(function() {
            deferred.resolve(reader.result);
          });
        };
      };
      varonError =function(reader, deferred, scope) {
        returnfunction() {
          scope.$apply(function() {
            deferred.reject(reader.result);
          });
        };
      };
      varonProgress =function(reader, scope) {
        returnfunction(event) {
          scope.$broadcast("fileProgress",
              {
                total: event.total,
                loaded: event.loaded
              });
        };
      };
      vargetReader =function(deferred, scope) {
        varreader =newFileReader();
        reader.onload = onLoad(reader, deferred, scope);
        reader.onerror = onError(reader, deferred, scope);
        reader.onprogress = onProgress(reader, scope);
        returnreader;
      };
      varreadAsDataURL =function(file, scope) {
        vardeferred = $q.defer();
        varreader = getReader(deferred, scope);
        reader.readAsDataURL(file);
        returndeferred.promise;
      };
      return{
        readAsDataUrl: readAsDataURL
      };
  });

選擇圖片後執行的方法

$scope.onFileSelect =function(files) {
      varfileIn=files[0];
      varimg =newImage();
      varfileType = 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);
      });
    }

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:



#

以上是Angularjs實作圖片預覽上傳的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn