如何使用angularJs上传带有文件内容的文件。

19 浏览
0 Comments

如何使用angularJs上传带有文件内容的文件。

我正在使用一个指令来上传文件,它可以正确上传文件,但是无法上传文件内容。如何上传带有文件内容的文件。\n

form.directive('ngFileModel', ['$parse', function ($parse) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            var model = $parse(attrs.ngFileModel);
            var isMultiple = attrs.multiple;
            var modelSetter = model.assign;
            element.bind('change', function () {
                var values = [];
                angular.forEach(element[0].files, function (item) {
                    var value = {
                       // 文件名
                        name: item.name,
                        // 文件大小
                        size: item.size,
                        // 文件URL
                        url: URL.createObjectURL(item),
                        // 文件输入值
                        _file: item
                    };
                    values.push(value);
                });
                scope.$apply(function () {
                    if (isMultiple) {
                        modelSetter(scope, values);
                    } else {
                        modelSetter(scope, values[0]);
                    }
                });
            });
        }
    };
}]);

0