Iam이 (가) javascript에서만 사용하는 프로젝트입니다. 이미지를 base64로 변환하는 함수가 있습니다. 아래 코드를 참조하십시오.JavaScript를 사용하여 로컬 이미지를 base64로 변환
function getBase64Image()
{
p = document.getElementById("picField").value;
img.setAttribute('src', p);
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
var r = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
base64 = r;
alert(base64);
}
하지만 문제는 내가 내 웹 사이트를 구축 할 때, 가 나는 그것이 작동하지 않는, IIS 내 HTML 파일을 배치 할 때 의미이며, 그것은 IVB처럼 완전한 기본 64 형식을 보여주는 로컬 파일 시스템에서 의미합니다 .... , 하지만 iis에서는 base64 코드를 "기본"으로 지정합니다. 그래서 iis에서 잘 작동하지 않는 이유는 알고 있습니다. 제게 도와 주시고 iis에서 작동하는 html 파일을 보내주십시오.
이 클라이언트 측 코드 및 IIS와는 아무 상관이 없을 것이다. 당신은 아마 같은 기원 정책 문제가 있습니다. 어떤 종류의 필드가'document.getElementById ("picField")'이며 URL이 그 안에있는 것처럼 보이는가? –
ofcourse, 동일한 html 파일이 base64 문자열을 명확하게 보여 주지만 iis에 배치 될 때 표시되지 않는 이유는 무엇입니까? –
<입력 유형 = "파일"id = "picField"onchange = "f()"> –