태그의 다운로드 속성이 잘못되었습니다.

a 태그를 사용하여 파일을 다운로드할 때 다운로드 속성이 다운로드된 파일 이름을 지정하도록 설정되지만 적용되지 않습니다. 내 태그 다운로드 링크가 교차 도메인이기 때문에 교차 도메인 때문에 브라우저가 파일을 가져올 수 없기 때문에 파일 이름을 변경할 수 없는 것 같습니다.
 원래 다운로드 방식은 a 태그를 통해 URL을 설정하는 방식입니다 백엔드에서 제공하는 url 경로에 파일명이 있습니다 브라우저는 기본적으로 경로에 있는 파일명을 사용할 수 있습니다 경로, 파일 이름을 수동으로 설정해야 합니다.

해결책:

새 XMLHttpRequest 개체를 만들고, 파일을 가져와 Blob으로 변환하고, Blob 개체를 URL로 변환하고, 태그를 만들고, 다운로드 특성을 할당하고, 다운로드합니다.

 const xhr = new window.XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = 'blob';
    xhr.send();
    xhr.onload = () => {
        if (xhr.status === 200) {
          const url = window.URL.createObjectURL(xhr.response);
          const a = document.createElement('a');
          a.href = url;
          a.download = `${fileName}.xlsx`;
          document.body.appendChild(a);
          a.click();
          document.body.removeChild(a);
          window.URL.revokeObjectURL(url);
    };
}

브라우저는 파일 형식에 따라 적절한 확장자를 자동으로 추가합니다.브라우저에서 자동으로 추가한 확장자가 잘못되어 .xlsx를 추가했습니다.

추천

출처blog.csdn.net/m0_49623851/article/details/130971460