다음 코드를 사용하여 이미지를 base64 문자열로 변환하고 있습니다.
function getBase64Image() {
p = document.getElementById("fileUpload").value;
img1.setAttribute('src', p);
canvas.width = img1.width;
canvas.height = img1.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img1, 0, 0);
var dataURL = canvas.toDataURL("image/jpg");
$("#b64").val(dataURL);
}
그러나 내가 dataURL에서 얻는 Data;
것은 base64 문자열이 포함되어 있지 않습니다.
이미지에서 base64 문자열을 어떻게 가져올 수 있습니까?
로드가 비동기이기 때문에로드 콜백을 사용하면 이것이 작동 할 수 있다고 생각합니다. 귀하의 fileUpload가 tho인지 확실하지 않지만 URL을 붙여 넣는 텍스트 필드 인 경우
function getBase64Image() {
p = document.getElementById("fileUpload").value;
img1.setAttribute('src', p);
img1.setAttribute('load', fileLoaded);
function fileLoaded(e) {
canvas.width = img1.width;
canvas.height = img1.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img1, 0, 0);
var dataURL = canvas.toDataURL("image/jpeg");
$("#b64").val(dataURL);
}
}
이미지 유형도 image / jpeg입니다. jpg가 작동하지 않거나 유효하지 않기 때문에 대신 png를 반환합니다. 교차 출처는 문제가 될 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다