使用Angular将文件上传到服务器时如何重命名文件?

时间:2017-01-12 07:32:02

标签: angularjs form-data

我对角度上传文件有疑问,如何在上传之前重命名文件?我需要给这些文件指定相似的名称。 我听说.rename方法但是当我尝试使用它时,它不起作用。 我怎么能这样做?

这是我的指令

  .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();

        });
    }
};

}])

这是我的控制器

$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;
    })
})

}

1 个答案:

答案 0 :(得分:0)

尝试使用带有文件名的Math.random();append随机数生成随机数。然后将文件存储在文件夹数据库中,文件 路径 和名称,以便在需要时检索文件