0

请任何可以帮助我了解如何上传 .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);

      });
    })
  })
4

0 回答 0