vuejs 파일 다운로드

이 POST 방법을 사용하여 수행 할 수 있습니까? 나는 GET과 그 작동을 시도하지만 내가 POST로 전환 할 수 있도록 내가 요청할 수있는 길이 매개 변수에 제한이 있지만, 문제는 빈 파일을 반환 HttpResponseMessage 결과 = 새로운 HttpResponseMessage (HttpStatusCode.OK); 결과. 콘텐츠 = 새 스트림콘텐츠(스트림); 결과. Content.Headers.ContentDisposition = 새 콘텐츠 디스포지션헤더값(“첨부파일”); 결과. 콘텐츠.헤더.컨텐츠디스포지션.파일이름 = 파일이름; 결과. Content.Headers.ContentType = 새 미디어유형헤더값(“애플리케이션/pdf”); 결과. Content.Headers.ContentLength = 스트림. 길이; 반환 결과 많은 감사합니다! “콘텐츠 처리”-header에서 파일 및 파일 이름의 유형을 설정하려면 이 것을 사용할 수 있습니다 : 누군가에게 링크를 보냈을 때 파일을 다운로드 할 수 없습니다. 정말 고마워요! ContentDisposition에서 올바른 정규식 제거로 어려움을 겪고있는 사람들을 위해 원래 파일 이름으로 파일 / 아카이브를 다운로드하려면 코드를 contentDisposition.match (/(?<=파일 이름 =).*/로 편집하거나 로컬 PDF 파일 URL을 만들어야하거나 다운로드를 위해 라이브 URL을 제공 할 수 있습니다. https://github.com/kennethjiang/js-file-download/blob/master/file-download.js 확인하여 IE 다운로드 를 처리하는 방법을 확인할 수 있습니다. Blob 응답 유형을 사용할 때 제대로 작동하지 않습니다. 그것은 단지 내가 배열 버퍼에 응답유형을 설정할 때만 작동합니다. 또한 arraybuffer를 사용하는 경우 파일 크기에 따라 1 분 정도 후에 다운로드가 표시됩니다.

좋은 선생님 감사합니다! 이것은 내가 작업하고있는 반응 웹 앱에서 비 PDF 파일을 제공하는 데 엄청난 도움이되었습니다. 헤더: { `수락`: `응용 프로그램/vnd.ms-excel` } 다운로드 .xlsx 파일에 도움이 됩니다. 당신이 공유 한 작업 코드 (엄지 손가락 까지) } 캐치 (err) { / / 크롬에서 미리보기는 // { “code”:”900682″, “message”:”File”:”File to get file”} // 캔트 에서 볼 수 있습니다 } 이 솔루션은 브라우저의 메모리에 맞게 전체 다운로드 한 파일이 필요합니다. 특정 파일 크기를 초과하면 메모리 오류가 발생하거나 브라우저가 충돌합니다. 끔찍한 생각. 우리가 알다시피 axios js는 http 요청에 매우 인기가 있습니다. 당신은 얻을 수 있습니다, 게시, vue JS, 노드 JS, 반응 jS 등에서 axios js를 사용하여 등 요청을 넣어하지만 당신은 API와 사용자로부터 파일 응답을 다운로드하는 동일한 요구 사항이 필요한 경우 다음 어떻게 axios JS를 사용하여 다운로드를 제공 할 수 있습니까? 나는 당신이 axios를 사용하여 파일 다운로드를 수행하는 데 도움이 될 것입니다. 이것은 VueJs에서 Axios를 사용하여 파일을 다운로드하는 전체 코드입니다 : var fileURL = 창. URL.createObjectURL(새 Blob([응답 데이터]))); 반응: this.apiClient.get (URL, { }) .then (응답 => { / / PDF 스트림 const Blob = 새 Blob ([response.data]), {유형 : `응용 프로그램 / pdf`}); const URL = 창. URL.createObjectURL(Blob); const 링크 = document.createElement(`a`); 링크.href = URL; const contentDisposition = response.data.content.headers[`콘텐츠-성향`]; let 파일 이름 = `알 수 없음`; (contentDisposition) { const fileNameMatch = contentDisposition.match (/filename=”/)”/); 경우 (fileNameMatch.length === 2) 파일이름 = fileNameMatch[1]; } link.setAttribute(`다운로드`, 파일이름); document.body.appendChild(링크); 링크.클릭(); 링크.remove(); 창. URL.취소개체URL(url); 정말 고마워요! 나는 그런 해결책을 찾고 있었고, 그것은 놀랍게 작동합니다. 👍 🥇 나는 파일 (PDF, 이미지 대부분)의 모든 유형을 다운로드하는 데 사용할 수 있습니다, 또는, 당신은 직접 파일을 다운로드 할 수 있습니다 : Repo 각 비디오는 리포지토리에 해당 폴더가있을 것입니다 다운로드.

index.html 파일부터 시작하고 해당 강의의 최종 코드는 index-FINAL.html에서 찾을 수 있습니다.