이 코딩 쿼리에서 사용자는 HTML 양식 입력에서 얻은 Blob을 base64 문자열로 변환하려고 합니다. 제공된 코드는 createObjectURL을 사용하여 URL 객체를 생성하여 이미지를 성공적으로 표시하지만 readAsBinaryString을 사용하여 원하는 변환으로 인해 null 소스 변수가 생성됩니다.
이 문제를 해결하고 제공된 코드의 복잡성을 우회하려면 더 간단한 솔루션 readAsDataURL 메서드를 활용하는 방법은 다음과 같습니다.
var reader = new FileReader(); reader.readAsDataURL(blob); reader.onloadend = function() { var base64data = reader.result; console.log(base64data); }
FileReader 설명서에 따르면 readAsDataURL은 콘텐츠를 다음과 같이 인코딩합니다. base64.
비동기 처리의 경우 대기 가능 함수를 다음과 같이 정의할 수 있습니다.
function blobToBase64(blob) { return new Promise((resolve, _) => { const reader = new FileReader(); reader.onloadend = () => resolve(reader.result); reader.readAsDataURL(blob); }); }
참고: base64로 인코딩된 문자열만 얻으려면 데이터를 제거하세요.< ;em>/base64, 결과에서.
위 내용은 Blob을 HTML 양식에서 Base64 문자열로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!