2012-03-23 4 views
2

아래 메소드를 사용하여 base64로 인코딩 된 문자열을 이미지 객체로 변환하려고합니다.Base64 문자열을 PNG 파일로 변환

function gotFileWriter(writer) { 
    console.log('Starting gotFileWriter'); 
    writer.onwrite = function (evt) { 
     console.log("write success"); 
    }; 

    $.mobile.showPageLoadingMsg(); 
    //  console.log('height: ' + cb_canvas.height); 
    //  console.log('width: ' + cb_canvas.width); 
    Signaturebase64 = cb_canvas.toDataURL(); 

    //I need to save the base64 string to a PNG image on the Phone here. 
    writer.write(Signaturebase64); 

    $.mobile.hidePageLoadingMsg(); 
    $.mobile.changePage("#MyJob"); 
    console.log('Finished gotFileWriter'); 
} 

라인 : 예상과 내 base64로 문자열을 나에게 다시 제공으로

Signaturebase64 = cb_canvas.toDataURL(); 

작품.

내가 지금하고 싶은 것은 휴대 전화의 영구 저장소에있는 이미지 파일로 변환하는 것입니다.

다음 줄은 스토리지에 base64로 문자열을 작성하지만 나는 그것을하고 싶은 대신에 PNG 파일로 저장입니다 : 당신은 다시 바이너리의 base64로 디코딩 할 필요가

writer.write(filedata); 
+0

base64 문자열이 인코딩 된 이미지 데이터 인 경우이를 디코딩하여 이미지 확장명을 가진 파일에 씁니다. –

답변

0

이진 데이터를 쓰는 데 PhoneGap FileWriter를 사용할 수 없습니다. Base64로 인코딩 된 데이터를 네이티브쪽으로 보내고, 바이너리로 인코딩 한 다음 네이티브 코드로 작성하는 플러그인을 작성해야합니다.

+0

답장을 보내 주셔서 감사합니다. 이런 식으로 링크 나 튜토리얼을 가지고 있습니까? – Seany84

+0

에서 플러그인 정보를 확인하십시오. http://wiki.phonegap.com/w/page/36752779/PhoneGap%20Plugins는 phonegap 소스 코드를보고 파일 작성자를 수행하는 방법을 확인하고 코드를 추가 할 수 있습니다 작성하기 전에 base64 디코딩을 수행하십시오. –

+0

감사합니다. Simon, 월요일에이 일을 어떻게 처리하는지 알려 드리겠습니다. – Seany84

관련 문제