簡體   English   中英

如何讓ng-file-upload與Node一起使用?

[英]How do I get ng-file-upload to work with Node?

我正在將Angular與Node,Express和Multer和ng-file-upload一起使用。 由於某種原因,我收到400(錯誤請求)http請求錯誤。 我嘗試了不同的方法,但是一切都回來了。 這是代碼示例。

的HTML

<form  ng-controller="adminController" name="form">

帶有驗證的單個圖像選擇

提交

Angular app.js

$scope.submit = function() {
    $log.info($scope.file);


  if (  $scope.file) {
    $scope.upload($scope.file);

  }
};



// upload on file select or drop
$scope.upload = function (file) {
    Upload.upload({
        url: '/api/admin/photos',
         headers : {
        'Content-Type': 'multipart/form-data'
        },

        data: {file: file}
    }).then(function (resp) {
        console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
    }, function (resp) {
        console.log('Error status: ' + resp.status);
    }, function (evt) {
        var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
        console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
    });
};

節點js

//upload photos
apiRoutes.post('/admin/photos',upload.single(),function(req,res){
    console.log(req);
    res.json({name: 'this works'});
});

upload.single()應該改為upload.single('file')因為這是您用於上載的屬性名稱。 另外,顯式設置:

headers : {
  'Content-Type': 'multipart/form-data'
}

是不必要的。

如果那仍然不起作用,則應暫時刪除upload.single('file')並確保upload.single('file')開始到達路由處理程序(並且某些先前的中間件/路由處理程序尚未攔截它)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM