복붙노트

[REACTJS] 웹 API에서 axios.post를 사용하는 방법 다운로드 파일에

REACTJS

웹 API에서 axios.post를 사용하는 방법 다운로드 파일에

해결법


  1. 1.이것은 내가 Axios의를 통해 게시하여 파일 다운로드를 달성 한 방법입니다 :

    이것은 내가 Axios의를 통해 게시하여 파일 다운로드를 달성 한 방법입니다 :

    Axios.post("YOUR API URI", {
        // include your additional POSTed data here
        responseType: "blob"
    }).then((response) => {
        let blob = new Blob([response.data], { type: extractContentType(response) }),
            downloadUrl = window.URL.createObjectURL(blob),
            filename = "",
            disposition = response.headers["content-disposition"];
    
        if (disposition && disposition.indexOf("attachment") !== -1) {
            let filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/,
                matches = filenameRegex.exec(disposition);
    
            if (matches != null && matches[1]) {
                filename = matches[1].replace(/['"]/g, "");
            }
        }
    
        let a = document.createElement("a");
        if (typeof a.download === "undefined") {
            window.location.href = downloadUrl;
        } else {
            a.href = downloadUrl;
            a.download = filename;
            document.body.appendChild(a);
            a.click();
        }
    }).catch((error) => {
        // ...
    });
    
  2. from https://stackoverflow.com/questions/41949640/how-to-download-files-using-axios-post-from-webapi by cc-by-sa and MIT license