使用angularjs库将正文字段发送到服务器

时间:2019-10-22 14:29:59

标签: angularjs angular-file-upload

我的后端已被修改,现在需要将字段与文件一起发送。只需上传文件就可以了。

我的前端在此angularjs库之前一直在使用

https://github.com/nervgh/angular-file-upload/wiki/Module-API

我做了一些研究,据我了解,您应该以这种方式或多或少地启动图书馆本身:

var uploader = new FileUploader({
     url: 'mybackend',
     headers: { 'Content-Type': undefined }
});

然后添加字段,您应该使用“ formdata”。 所以我尝试这样做:

uploader.onBeforeUploadItem = function (item) {
    item.formData['documentType'] = 'mydoctype';
};

但是,在服务器端,我看到该字段已作为标头字段发送。不作为身体领域。 鉴于后端是如何编码的(并且已经可以进行自动测试),我真的需要模仿自动测试,在这种情况下,使前端库通过发送正文字段和文件本身来调用后端。

我找不到与此有关的任何文档。任何帮助都会得到真正的帮助。

****编辑*****

测试正在使用名为supertest的npm库。 该请求看起来像这样:

const request = supertest('mybackend')
    .post(`/myendpoint`)
    .field('documentType', "mytype")
    .attach('file', fileBuffer, {filename: 'testfile1.pdf', contentType: 'application/pdf'})
    .expect('Content-Type', /json/)
    .end(handleResponse({}, done));

如您所见,文件附加在POST调用中。您还添加了一个字段(POST参数)的位置。 如果这还不够的话,我可以尝试在上面的超级测试调用中找出发送给服务器的完整请求。

0 个答案:

没有答案