js 파일 흐름 으로 csv 파일 다운로드 실현
Blob 대상 이 나타 나 기 전에 자바 script 에서 바 이 너 리 파일 을 처리 하 는 좋 은 방법 이 없 었 습 니 다. Blob 가 생 긴 후부 터 바 이 너 리 데 이 터 를 조작 할 수 있 습 니 다.이제 우 리 는 Bolb 대상 과 그의 파일 흐름 다운로드 응용 장면 을 이해 하기 시작 했다.
1. Blob 대상 을 만 드 는 방법 은 다음 과 같 습 니 다.
var blob = new Blob(dataArray, options);
dataArray: Blob 대상 에 추가 할 데 이 터 를 포함 하 는 배열 입 니 다.배열 은 바 이 너 리 대상 이나 문자열 일 수 있 습 니 다.
options 는 선택 할 수 있 는 대상 매개 변수 로 배열 의 데 이 터 를 설정 하 는 MIME 형식 입 니 다.
1. DOMString 대상 의 Blob 대상 을 만 듭 니 다.다음 코드:
var str = "Hello World";
var blob = new Blob([str], {type: 'text/xml'});
console.log(blob); // :Blob {size: 22, type: "text/xml"}
2. URL 을 이해 합 니 다. createObjectURL 대상
window 대상 의 URL 대상 은 blob 나 file 을 url 로 읽 는 데 사 용 됩 니 다.
window.URL.createObjectURL(file / blob);
예 를 들 어 저 는 지금 위의 blob 대상 과 결합 하여 url 의 간단 한 demo 실 열 을 만 듭 니 다. 다음 과 같 습 니 다.
var str = "Hello World";
var blob = new Blob([str], {type: '.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel'});
console.log(blob);
const url3 = window.URL.createObjectURL(blob);
console.log(url3);
위 코드 의 첫 번 째 인쇄 blob 변 수 는 다음 과 같 습 니 다.
Blob {size: 22, type: ".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"}
두 번 째 url 3 변수 값 정 보 를 다음 과 같이 인쇄 합 니 다.
blob:null/2c75a56e-0104-4572-bc19-391d3bf93d9d
3. HTML 5 에서 a 탭 의 download 속성 이해
HTMl 5 에서 a 탭 에 download 속성 을 추 가 했 습 니 다. 이 속성 값 을 설정 하면 브 라 우 저 는 새 링크 를 열지 않 고 파일 을 직접 다운로드 합 니 다. 파일 이름 은 download 의 속성 값 입 니 다.
따라서 이 특징 을 결합 하면 우 리 는 파일 흐름 다운로드 파일 을 간단하게 실현 할 수 있 습 니 다. 우 리 는 먼저 원래 의 코드 를 바탕 으로 a 링크 를 동적 으로 만 든 다음 에 이 a 태그 의 스타일 을 none 으로 설정 할 수 있 습 니 다. 이 링크 의 href 속성 은 바로 우리 위 에 window. URL. createObject URL (blob) 이 있 습 니 다.생 성 된 url, 그리고 우 리 는 a 링크 의 download 속성 을 설정 합 니 다. 이 속성 값 은 우리 의 다운로드 파일 이름 입 니 다.마지막 으로 클릭 기능 을 터치 하면 다운로드 할 수 있 습 니 다.다음 코드:
var str = "Hello World";
var blob = new Blob([str], {type: '.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel'});
console.log(blob);
const url3 = window.URL.createObjectURL(blob);
console.log(url3);
var filename = ' ' + '.csv';
const link = document.createElement('a');
link.style.display = 'none';
link.href = url3;
link.setAttribute('download', filename);
document.body.appendChild(link);
link.click();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.