问题描述
请这里的任何人都可以帮助我上传 .xls 文件的代码。 如您所见,我想使用“表单”数据发送此 POST 方法。但是得到 401 unauthorize 并且我也不知道如何发送“表单”数据来上传 .xsls 文件。
My code :-
commands.js:-
Cypress.Commands.add('form_request',(method,url,formData,done) => {
const token = "eyJhbGciOiJIUzI1NiIsIn"
const xhr = new XMLHttpRequest();
xhr.open(method,url);
xhr.setRequestHeader(
"authorization","bearer" + token
)
xhr.onload = function () {
done(xhr);
};
xhr.onerror = function () {
done(xhr);
};
xhr.send(formData);
})
spec.js
it('API',() => {
//Declarations
const fileName = 'msylp.xlsx';
const method = 'POST';
const url = '/StarReportFile/upload';
const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
// Get file from fixtures as binary
return cy.fixture(fileName,'binary').then(Cypress.Blob.binaryStringToBlob).then((blob) => {
// File in binary format gets converted to blob so it can be sent as Form data
const formData = new FormData();
formData.set('file',blob,fileName); //adding a file to the form
formData.set('starReportFile','(binary)')
formData.set('starReportFileUploadviewmodel','{"fileType":1}')
cy.form_request(method,function (response) {
expect(response.status).to.eq(200);
});
})
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)