Chinna Suresh Ответов: 0

Как преобразовать файл документа в байтовый массив в angular js


я написал веб-api, где он принимает файл в виде массива байтов, а затем сохраняет файл в виде массива байтов в базе данных.
поэтому я хочу выбрать файл из пользовательского интерфейса,а затем преобразовать его в байтовый массив и отправить на сервер, как я могу преобразовать файл в байтовый массив в angular js.

Что я уже пробовал:

var myApp = angular.module('myApp', []);

        myApp.directive('fileModel', ['$parse', function ($parse) {
            alert(2);
            return {
                restrict: 'A',
                link: function (scope, element, attrs) {
                    var model = $parse(attrs.fileModel);
                    var modelSetter = model.assign;

                    element.bind('change', function () {
                        scope.$apply(function () {
                            modelSetter(scope, element[0].files[0]);
                        });
                    });
                }
            };
        }]);

        myApp.service('fileUpload', ['$http', function ($http) {
            alert(3);
            this.uploadFileToUrl = function (file, uploadUrl) {
                var fd = new FormData();
                fd.append('file', file);

                $http.post(uploadUrl, fd, {
                    transformRequest: angular.identity,
                    headers: { 'Content-Type': undefined }
                })

                .success(function () {
                })

                .error(function () {
                });
            }
        }]);

        myApp.controller('myCtrl', ['$scope', 'fileUpload', function ($scope, fileUpload) {
            $scope.uploadFile = function () {
                alert(1);
                var file = $scope.myFile;

                console.log('file is ');
                console.dir(file);

                var uploadUrl = "/api/uploadDoc/";
                fileUpload.uploadFileToUrl(file, uploadUrl);
            };
        }]);

0 Ответов