我使用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,所以我怀疑服务器上出现了问题。
我很感激一些帮助。我一直在寻找解决方案已有一段时间,但我担心我无法找出错误。
感谢您的帮助