загрузка файла объектного файла через angularjs, но он заключен в строку, как получить объектный файл на стороне сервера - PullRequest
0 голосов
/ 23 января 2019

Я занимаюсь разработкой веб-сайта с angular.js и node.js, в этом есть необходимость в функции загрузки, и мне удалось отправить объектный файл из внешнего интерфейса, т.е. используется метод POST, но когда сервер получает файл, объектный файл сохраняется как строковый файл. Как получить объектный файл в виде объектного файла на стороне сервера (в узле) или как снова преобразовать строковый файл в объектный файл?

Я попытался отправить файл в виде данных и изображения в заголовке и теле запроса, но это не удалось. Полученный объектный файл имеет строковый формат

Контроллер:

var formdata = new FormData();
vm.getTheFiles = function ($files) {
    alert($files[0]);
    vm.uploadme= $files[0];
    formdata.append('image', $files[0])
    angular.forEach($files, function (value, key) {
        formdata.append(key, value);
        console.log('fileeeeeeeeeeeeeeee' + key + ' ' + value);
    });
    for (var pair of formdata.entries()) {
        console.log(pair[1]); 
    }
};
vm.uploadFiles = function () {
    console.log(vm.uploadme);

    var request = {
        method: 'POST',
        url: '/api/users/upload/',
        data: formdata,
        headers: {
            'Content-Type': undefined,
            data: formdata
        }
    };

    // SEND THE FILES.
    $http(request)
    .success(function (d) {
        alert(d);
    })
    .error(function () {
    });
}

HTML:

<input type="file" fileread="vm.uploadme" ng-files="vm.getTheFiles($files)"  />
<input type="button" ng-click="vm.uploadFiles()" value="Upload" />   

Узел:

function upload(req, res) {
   console.log('data',req.headers.data);
   var formdata = req.headers.data;
   var fs = require("fs");
   var filePathFinal1 = '/images/profile/' + formdata + '.png';
   fs.createWriteStream('app' + filePathFinal1);
   res.sendStatus(200);
}

В приведенном выше коде узла я получаю отображение в виде строки, но я хочу, чтобы объектный файл был как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...