我在尝试同时选择文件的同时尝试上载文件。我正在使用angularjs应用程序,在该应用程序中,我需要浏览文件并同时将其上载到表行中。

<form>
         <input type="text" class="browse-form"placeholder="   Click browse to load documents " required>
         <button ngf-select="vm.uploadFiles($files)" mutiple accept=".csv,.pdf" class="browse-btn">Browse</button>
        </form>
        <p style="margin-top: -30px;"> Note:Supported file formats are word,excel and pdf only</p>
        <table class="table">
         <tr>
         <thead style="background:#fff;font-size: 13px;font-weight:bold;">
         <th>DOCUMENT NAME</th>
         <th>SIZE</th>
         <th>VERSION</th>
         <th>DATE UPLOADED</th>
         <th>UPLOADED BY</th>
         <th>ACTION</th>
         </thead></tr>
         <tr><td ng-repeat="uploading in files" style="font:smaller">{{uploading.name}}
         <span class="progress" ng-show="uploading.progress >=0">
         <div style="width:{{uploading.progress}}" ng-bind="uploading.progress + '%'">
         </div>
         </span>
          </td>
         </table>


我的控制器

(function () {
'use strict';

angular
.module('app',['ngFileUpload'])
.controller('ManageController', ManageController);

 ManageController.$inject=['$http','$scope','localStorageService','workspaceService','Upload','$timeout'];

 function ManageController($http,$scope,localStorageService,workspaceService,Upload,$timeout) {
    var vm = this;
    //uploading
    vm.uploadFiles=function(files){
    vm.files=files;
 angular.forEach(files,function(file){
  file.upload=Upload.upload({
      url:' ',
      data:{file:file}
  });
  file.upload.then(function(response){
      $timeout(function(){
          file.result=response.data;
      });
  });

  });
  }
  }
  })();


我已经将ng-file-upload-shim.min.js和ng-file-upload.js的脚本都包含在我的主要index.html中,作为脚本.....
仍然无法在我的应用程序中获得完整的空白屏幕,说明ngFileUpload拼写错误。

最佳答案

在html中,只需添加以下代码即可。

<button class="btn btn-danger active" ngf-select="upload($file)">Upload</button>


在控制器中,您可以这样做。

$scope.upload = function (file) {
  if(file){
   try{
    var token = 'token if required' ; // optional field
    Upload.upload({
        url: 'enter url to hit api',
        data: {file: file, 'username': $scope.username},
        headers: {'Authorization': 'JWT ' + token},
    }).then(function onSuccess(response) {
        console.log("success");
    }).catch(function onError(response) {
        console.log("error",response);
    });
  }catch(error){
    console.log(error.message);
  }
}


};

去尝试一下。
它为我工作.. :)

关于javascript - 如何在应用程序中使用ng-file-upload(angularjs的新功能)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43244619/

10-12 19:49