2016-08-04 3 views
1

이미지 덩어리를 이미지로 변환하고 싶습니다. 그러나 나는 성공할 수 없습니다. 이것은 변환하려는 청크 유형입니다.이미지에 노드 쓰기 덩어리

콘텐츠 유형을 --ThisString : 이미지/JPEG에게 콘텐츠 길이 : 29,016

JFIF (# (# # - + (0 } 1AQa "Q2!를! # B R $ 3br
% & '() * 456789 : CDEFGHIJSTUVWXYZcdefghijstuvwxyz
w! 1AQaq "2 B # 3R br $ 4 % & '() 56789 : CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? A6 uM t ! # Q < | [ U>^= M G-ƴ z & R8 پ S + i C l ) 6 , * a J} JM = W N9 4 T 3 Rb # 0E, w & ne C շ dJWd : ( ˸ | Z_8 ( G \ c aB 7 MP q! , ? 예 : W8 3QK ν Q ! AY Kv : T : Ŏ TRŎ y-] Q ....

어떻게이 데이터를 jpeg 이미지에 저장할 수 있습니까?

답변

1

문제는 인코딩 및 바이너리 데이터를 자바 스크립트 문자열에 저장하는 것입니다. 이것에 관한 좋은 섹션은 http://nodejs.org/api.html의 Buffers에 있습니다.

불행히도이를 해결하는 가장 쉬운 방법은 요청 npm을 변경하는 것입니다. /path/to/lib/node/.npm/request/active/package/lib/main.js에 var buffer; 바로 아래 라인 66에 response.setEncoding('binary');을 추가해야했습니다. 이 요청에 대해서는 정상적으로 작동하지만 다른 요청에는 정상적으로 작동합니다. 이 옵션이 전달 된 다른 옵션을 기반으로 만 설정되도록 해킹 할 수 있습니다.

나는 다음

var buf = new Buffer(body, 'binary');

var buf = new Buffer(body)

을 변경했습니다.

이 모든 것이 정상적으로 처리되었습니다.

또 다른 방법으로, 요청 npm을 정말로 건드리지 않으려는 경우 requestBodyStream 인수에 쓰기 가능한 스트림을 구현하는 객체를 전달하여 요청할 수 있습니다. 그런 다음이 객체는 자체 버퍼에 응답의 스트리밍 된 데이터를 저장합니다. 어쩌면 이미 이런 일을하는 도서관이 있을지 모르겠습니다.

지금 당장 여기에 남겨 두겠다.하지만 내가 무엇인가를 명확히하기를 원한다면 자유롭게 의견을 말하면된다.

+0

네, 두 번째 옵션을 명확히 해 주시겠습니까? 미니 예제가 인정 될 것입니다. 고맙습니다. – Jones