data:image/png;base64, 완전한 이미지가 아닌 접두사입니다. 인라인 리소스를 소개합니다. 구성표는 데이터이고 선언된 미디어 유형은 image/png이며 마커는 다음 페이로드가 Base64을 사용한다고 말합니다. 쉼표는 메타데이터와 데이터 사이의 경계입니다.
구조 읽기
data:[media-type][;base64],payload
data:text/plain;base64,SGVsbG8=
data:text/plain,Hello%20world
첫 번째 예는 Base64을 통해 Hello라는 텍스트를 나타냅니다. 두 번째는 대신 백분율 인코딩을 사용합니다. 데이터 URI 파서는 디코더를 선택하기 전에 메타데이터를 검사해야 합니다. 콜론, 세미콜론 및 쉼표가 페이로드 문자가 아니기 때문에 전체 URI을 원시 Base64 디코더로 보내는 데 실패합니다.
모든 쉼표가 아닌 첫 번째 쉼표에서 분할됩니다. 나머지 데이터 자체에는 특히 Base64이 아닌 텍스트 URI에 쉼표가 포함될 수 있습니다. 선택적 미디어 유형 매개변수는 Base64 마커 앞에 나타날 수 있습니다. 미디어 유형이 생략되면 데이터 URL 형식에는 기본 텍스트 유형과 문자 세트가 있습니다. 해당 기본값은 임의의 이진 바이트를 읽을 수 있는 텍스트로 변환하지 않습니다.
MIME 라벨은 소유권 주장입니다.
누구나 배치할 수 있다 image/png 접두사에. 레이블은 바이트가 PNG을 형성한다는 것을 증명하지 않습니다. 서명을 비교한 다음 실제 이미지 디코더에 결과를 로드하도록 요청합니다. 마찬가지로 PDF 헤더는 인식 단서일 뿐입니다. 완전한 PDF 파서는 여전히 문서를 거부할 수 있습니다.
변화 image/png 에 image/jpeg 이미지를 변환하지 않습니다. 변환은 원본 이미지를 디코딩하고 새 파일을 대상 형식으로 인코딩하는 것을 의미합니다. 이로 인해 투명성, 메타데이터, 품질 및 크기가 변경될 수 있습니다. 차이점이 중요한 경우 원본을 유지하세요.
리소스를 실행하지 않고 복구
먼저 구문 분석하고 검사하십시오. 텍스트는 텍스트로 표시될 수 있으며, 지원되는 래스터 이미지는 이미지 요소에서 미리 볼 수 있습니다. 문서에 임의의 HTML 또는 SVG 마크업을 삽입하지 마세요. URL 데이터는 사진뿐만 아니라 활성 콘텐츠도 나타낼 수 있으므로 그 자체 포함된 특성은 안전을 보장하지 않습니다.
파일 다운로드의 경우 디코딩된 바이트를 보존하고 확인된 형식 정보를 기반으로 합리적인 확장자를 사용하십시오. 진단 보고서의 경우 선언된 유형과 감지된 유형을 별도로 표시합니다. 이렇게 하면 안심할 수 있는 파일 아이콘 뒤에 불일치를 숨기는 대신 불일치가 표시됩니다. 데이터 URL 구문과 기본값은 다음에 설명되어 있습니다. MDN: 데이터 URL.