2016-08-06 39 views
0

Ich verwende NG-FILE-UPLOAD für Datei-Upload, Vorschau und senden an den Server..upload ist keine Funktion in ng-Datei-Upload

Ich habe die Dateien upload.js und upload.shim.js ist meine Dateien direcory.Added sie im Projekt und fügte auch Abhängigkeit in meinem angularen modul.working wie this one.

Html:

 <fieldset> 
    <input type="file" ngf-select="" class="form-control" ng-model="picFile" 
    name="file" accept="image/*" ngf-max-size="2MB" required="" /> 
    <img ngf-thumbnail="picFile" class="thumb" width="300"/> 
    <button ng-click="picFile = null" ng-show="picFile">Remove</button> 
    <br /> 
    <button ng-click="uploadPic(picFile)">Submit</button> 
    <span class="progress" ng-show="picFile.progress >= 0"> 
    <div style="width:{{picFile.progress}}%" ng-bind="picFile.progress + '%'"></div> 
    </span> 
    <span ng-show="picFile.result">Upload Successful</span> 
    <span class="err" ng-show="errorMsg">{{errorMsg}}</span> 
</fieldset> 

Controller:

$scope.uploadPic = function(file) { 
    Upload.upload({ 
     url: '/student/studentimages', 
      data: { 
      uploadedPicture: file, 
      uploadedFrom: 'recipe' 
     }, 
    }).then(function(response) { 
     $timeout(function() { 
      $scope.result = response.data; 
     }); 
    }, function(response) { 
     if (response.status > 0) $scope.errorMsg = response.status + ': ' + response.data; 
    }, function(evt) { 
     $scope.progress = parseInt(100.0 * evt.loaded/evt.total); 
    }); 

} 

Aber wenn ich einreichen klicken, um es mir Fehler als

Upload.upload is not a function 
at Scope.e.uploadPic (app.min.js:1) 
at fn (eval at compile (angular.js:13036), <anonymous>:4:296) 
at update (upload.js:533) 
at upload.js:611 
at angular.js:17571 
at completeOutstandingRequest (angular.js:5370) 
at angular.js:5642 

ich zu ändernden Version haben versucht, schenkt . Was kann noch versucht werden, um das zu lösen?

+0

Können Sie bitte etwas Code schreiben oder einen Plunker bereitzustellen, die das Problem reproduzieren? – varit05

+0

Ich kann dies nicht durch Plunker reproduzieren, da es dort gut funktioniert, aber nicht in meinem Projekt.aber ja, ich kann Code zur Verfügung stellen.Lass mich Frage aktualisieren. –

+0

@ user786 können Sie uns die Referenzen und injizierenden Code – Sajeetharan

Antwort

0

Es scheint, als ob Sie die Abhängigkeiten nicht richtig initialisiert/injiziert haben.

Im Modul:

var app = angular.module('your_module', ['ngFileUpload']); 

In der Steuerung:

app.controller('MyCtrl', ['$scope', 'Upload', function ($scope, Upload) { 
$scope.upload = function(dataUrl) { 
     Upload.upload({ 
      url: AppConstants.api.images, 
      data: { 
       uploadedPicture: dataUrl, 
       uploadedFrom: 'recipe' 
      }, 
     }).then(function(response) { 
      $timeout(function() { 
       $scope.result = response.data; 
      }); 
     }, function(response) { 
      if (response.status > 0) $scope.errorMsg = response.status + ': ' + response.data; 
     }, function(evt) { 
      $scope.progress = parseInt(100.0 * evt.loaded/evt.total); 
     }); 
    } 
} 

Kontrolle dieses link

+0

haben diesen Link bereits besucht und die Abhängigkeit hinzugefügt.Upload ist Abhängigkeit, während Probelm Upload.upload Funktion ist. –

+0

versuchen,

+0

aber das ganze Formular enthält andere Daten und es wird nach Schritten too.ri8 jetzt eingereicht Ich bin auf ein Eingabefeld beschränkt.BTW wie verhält es sich mit dem Prblm? –