.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, url, formData, function (response) {
expect(response.status).to.eq(200);
});
})
})