2017-01-12 2 views
0

Ich habe eine Frage zu eckigen Upload-Dateien, wie kann ich Dateien vor dem Upload umbenennen? Ich muss diesen Dateien ähnliche Namen geben. Ich höre über .rename Methode, aber wenn ich versuche, es zu verwenden, funktioniert es nicht. Wie kann ich das tun?Wie wird die Datei umbenannt, wenn sie mit Angular auf den Server hochgeladen wird?

Dies ist meine Richtlinie

.directive('fileModel', ['$parse', function($parse) { 
return { 
    restrict: 'A', 
    link: function(scope, element, attrs) { 
     element.bind('change', function() { 
      console.log('from directive', scope.$apply()) 
      $parse(attrs.fileModel) 
       .assign(scope, element[0].files) 
      scope.$apply(); 

     }); 
    } 
}; 

}])

Das ist mein Controller-

$scope.uploadFile = function(files) { 
var fd = new FormData(); 
angular.forEach(this.files, function(file) { 

    fd.append('avatar', file); 
}); 
$http.post('http://hannation.me/api/userplus/avatar_upload/?key=57f211a0354d7&cookie=' + $localStorage.currentUser.cookie, fd, { 
    transformRequest: angular.identity, 
    headers: { 
     'Content-Type': undefined 
    } 
}).success(function(d) { 
    console.log(d); 
    AuthService.getUserGravatar().then(function(data) { 
     console.log(data); 
     $scope.avatar = data; 
    }) 
}) 

}

Antwort

0

Try Zufallszahl zu erzeugen, indem Math.random(); und append dem Zufalls mit Nummer mit Dateiname. Speichern Sie die Datei in einem Ordner und Datenbank mit der Datei Pfad und einen Namen für die Datei abrufen, wenn Sie benötigen.

+0

Sorry, ich brauche keine Zufallszahl, ich muss Originaldatei vor dem Hochladen tatsächlich umbenennen. –

+0

Aber es wird ein Problem machen, wenn Sie die gleiche Datei mehrmals hochladen –

+0

Keine Möglichkeit Datei beim Hochladen umzubenennen? –

Verwandte Themen