无法使用访问令牌和ng-file-upload从AngularJS向服务器发送文件

时间:2018-06-11 12:29:06

标签: angularjs node.js multer ng-file-upload

我使用AngularJS 1.6将文件发送到服务器。服务器使用Multer读取文件,我在每个上传的文件上提供安全访问令牌。

项目使用ng-file-upload使用Upload.upload()发送文件。当您具有要与文件一起发送的访问令牌时,会弹出该问题。我不知道发生了什么,但是没有使用Upload.upload()向服务器发送参数。我尝试使用$http,此方法发送参数,但不会在request.file上将文件上传到服务器。

前端代码如下所示

Upload.upload({
        url: '/upload_to_file_path',
        arrayKey: '',
        headers: {'Content-Type': undefined},
        method: 'POST',
        file: file,
        data:
        {
          email: someData.email,
          auth_token: someData.auth_token,
        },
      })

当我使用$ http作为上述内容时,它会发送令牌而不是文件。

在后端,

exports.uploads = (req, res, err) => 
{
  if (req.file == null)
  {
    //File is unable to be read here
    res.send({ msg: "filename is undefined", success: true, statusCode: 422 });
    return;
}

我对此失去了理智,因为我对AngularJS相对较新。我之前使用过Multer,所以我怀疑服务器上出现了问题。

我很感激一些帮助。我一直在寻找解决方案已有一段时间,但我担心我无法找出错误。

感谢您的帮助

0 个答案:

没有答案