내 node.js 서버에 다른 서버에서 파일을 다운로드하고 있습니다. 다운로드 한 파일은 Base64로 2 번 인코딩 된 JPG 이미지 데이터로 2 번 디코드해야합니다. 내 코드가 주어진다. 나는 그것을 디코딩 할 때Node.JS로 JPG 파일 만들기
var base64DecodedFileData = new Buffer(file_data, 'base64').toString('binary');
var tmp = base64DecodedFileData.split("base64,");
var base64DecodedFileData = new Buffer(tmp[1], 'base64').toString('binary');
var file = fs.createWriteStream(file_path, stream_options);
file.write(base64DecodedFileData);
file.end();
나는 (내가 그것을 두 번째 시간을 디코딩하여 온라인 Base64로 디코더의 데이터가 나는 적절한 이미지를 가지고 있다는 것을 확인했다) 내 이미지 데이터 내가 그것을 디코딩이 처음 유효 알고 있지만, 두 번째로이 데이터로 파일을 만듭니다. 유효한 JPG 파일을 얻지 못했습니다.
실제 이미지와 비교해 보았지만 두 파일의 시작과 끝이 잘된 것처럼 보였지만 내 구성 파일에서 뭔가 잘못되었습니다. 생성 된 파일은 원본 파일보다 크기가 큽니다.
PS : I가 제 복호 후의 데이터
데이터로 시작하기 때문에 제 시간에 복호화 전에 분할을 수행하고있다 :; base64, DATASTARTS
모든 의견. Farrukh Arshad.
그냥 명확히하기 위해 - 두 번 인코딩되는 이유는 무엇입니까? – DeadAlready
그것은 (파일을 다운로드하는 곳의) 서버가 파일을 업로드하는 방식 일뿐입니다. –