Что не так с этим кодом REST API?

0

Ошибка, которую я получаю с этим кодом, - это

Не удается POST/img/upload/'

Код:

 app.post('/img/upload/',[multer({ dest: __dirname+'/www/images/new/',
            rename: function (fieldname, filename, req, res) {
                    return filename + '_ORIGINAL';
            },
            onFileUploadStart: function (file, req, res) {
                     console.log(file.fieldname + ' is starting ...')
            },
            onFileUploadData: function (file, data, req, res) {
                     console.log(data.length + ' of ' + file.fieldname + ' arrived')
            },
            onFileUploadComplete: function (file, req, res) {
                     console.log(file.fieldname + ' uploaded to  ' + file.path)
            },
            onError: function (error, next) {
                     console.log(error)
                     next(error)
            }
    })]);

Запрос контроллера на этот API:

    var data = new FormData;
    data.append("file", files[0]);

     $http({
            url: 'http://52.25.181.109/img/upload/',
            method: "POST",
            data : data,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        }).success(function (data, status, headers, config) {
            $scope.hide_u();
            console.log(data);
        }).error(function (data, status, headers, config) {
            $scope.hide_u();
            console.log(data);
        });

Код выполняется с ошибкой. Как это исправить?

Теги:
express
image
upload

1 ответ

0
Лучший ответ

Попробуйте изменить заголовок: headers: {'Content-Type': 'multipart/form-data'} Multer обслуживает только многопрофильные запросы. Маршрут не будет действителен для "application/x-www-form-urlencoded". Создайте свой сайт:

Средство Node.js для обработки multipart/form-data.

Обновление: я настроил сервер. следующее должно работать, измените обработчик сервера:

app.use(multer({ dest: __dirname+'/www/images/new/'}));
app.post("/img/upload/", function() {console.log("request rec.")});

Моя тестовая форма: "<form enctype=\"multipart/form-data\">"

Предложение: попробуйте удалить заголовок.

  • 0
    Добавил заголовок, он попросил границы. Я указал границу и все еще свою проблему.
  • 0
    @AbhayNaik проверьте обновленный ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню