자바스크립트 : URL을 통해 File 객체로 받기
조회수 5993회
안녕하세요
질문 내용을 하기가 애매해서 일단 적어보네요
상황은
URL을 통하여 PDF 파일을 수가 있습니다.
이 URL 경로를 가지고
바로 File 객체로 담을 수 가 있을까요?
음... 코드로 생각하면
let foo = new File( url );
// sample url : http://www.africau.edu/images/default/sample.pdf
이렇게 받고 싶은데
검색을 하려해도 어떻게 접근을 해야할지 몰라
답답하네요;;
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
브라우저에서 pdf를 받아서 뭔가를 하고 싶으신것 같은데...
async function downloadPDF() { // blob 형태로 들고 있어야 함. const res = await fetch('pdf_link.pdf'); const blob = await res.blob(); // anchor tag를 통해 다운 받는 방법 const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'something.pdf'; link.innerHTML = 'download'; document.body.appendChild(link); } downloadPDF();
제가 해 본 위 코드로 동작은 합니다.
다만, CORS가 허용된 상황의 pdf만 blob으로 만들 수 있습니다.
우리가 검색을 찾을 수 있는 대부분의 웹상의 pdf 링크들은 이것이 허용된 상태가 아니기 때문에 아마 불가능 할거에요.
결국 내가 만든 서버에서 해당 링크에 대한 프록싱을 해서 CORS 허용 헤더를 추가한 pdf를 내려받아야 하는데,
이럴거면 그 서버에서 서버 프로그래밍을 해서 받고 처리하는게 나은 상황이 될 겁니다.
댓글 입력