基於Angularjs實現圖片上傳和下載


  根據ng-file-uoload實現文件上傳和下載實現

  網上down下來ng-file-uoload.js,在項目中記得引入服務哦。

  示例代碼:

        

    FileUploaderCtrl.$inject = ["$scope","$FileUploader"];
      function FileUploaderCtrl($scope,$FileUploader) {
        var uploader = $scope.uploader = new $FileUploader({
          url: '/file/upload.do'
        });
      // FILTERS
      uploader.filters.push({
      name: 'customFilter',
      fn: function (item /*{File|FileLikeObject}*/, options) {
        return this.queue.length < 10;
      }
      });
    // CALLBACKS

    uploader.onWhenAddingFileFailed = function (item /*{File|FileLikeObject}*/, filter, options) {
      console.info('onWhenAddingFileFailed', item, filter, options);
    };
    uploader.onAfterAddingFile = function (fileItem) {
      console.info('onAfterAddingFile', fileItem);
    };
    uploader.onAfterAddingAll = function (addedFileItems) {
      console.info('onAfterAddingAll', addedFileItems);
    };
    uploader.onBeforeUploadItem = function (item) {
      console.info('onBeforeUploadItem', item);
    };
    uploader.onProgressItem = function (fileItem, progress) {
      console.info('onProgressItem', fileItem, progress);
    };
    uploader.onProgressAll = function (progress) {
      console.info('onProgressAll', progress);
    };
    uploader.onSuccessItem = function (fileItem, response, status, headers) { //上傳成功
      console.info('onSuccessItem', fileItem, response, status, headers);
    };
    uploader.onErrorItem = function (fileItem, response, status, headers) {
      console.info('onErrorItem', fileItem, response, status, headers);
    };
    uploader.onCancelItem = function (fileItem, response, status, headers) {
      console.info('onCancelItem', fileItem, response, status, headers);
    };
    uploader.onCompleteItem = function (fileItem, response, status, headers) { //上傳成功
      console.info('onCompleteItem', fileItem, response, status, headers);
    };
    uploader.onCompleteAll = function () {
      console.info('onCompleteAll');
    };

      console.info('uploader', uploader);
    };
    /*
    * uploader.onSuccessItem
    * uploader.onCompleteItem
    * 根據這兩個函數即可獲取到相應的返回狀態
    *
    */

    Html中也要有相應的更改:

      <input type="file" name="****" value="****" nv-file-select="" uploader="uploader"/>

    ps:有需要js文件的可以聯系我

    實際開發代碼 : 

    var uploader2 = $scope.uploader2 = new FileUploader({
      url:$scope.$serverPath+'BatchFileUpload.do'
    });

    uploader2.onAfterAddingFile = function(fileItem) {
      $scope.fileName = fileItem.file.name;
      if($scope.uploader2.queue&&$scope.uploader2.queue.length>1){
        for(var i=0;i<$scope.uploader2.queue.length-1;i++){
          $scope.uploader2.queue[i].remove();
        }
      }
    };

    

    //文件上傳
    $scope.submitPre1 = function () {
      if (!parseFloat($scope.totalAmount)>0) {
        $scope.alert("轉賬金額不能為0!");
        return false;
      }
    $scope.uploader2.onBeforeUploadItem= function(item){
      item.alias='UploadFile';

      item.formData = [{"FileName":FileName}
          ]
     }
    };
    uploader2.onSuccessItem = function(fileItem, response, status, headers) {
      if(response.jsonError) {
        $scope.confirm(response.jsonError[0]["_exceptionMessage"],function(){$state.reload()},function(){$state.reload()});
      } else {
        $scope.queryList();
      }
    };
    var length = $scope.uploader2.queue.length;
    var a = $scope.uploader2.queue[length-1];
    if(a){
      a.upload();
    }else{
      $scope.alert("請選擇文件")
    }

  };


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM