2013-06-14 3 views
1

다트 : io 섹션에 HTTP 서버용 샘플 코드가 있습니다.다트 파일 바이너리 읽기 지원

이제이 서버와 함께 이미지를 배포합니다. 이를 위해 요청 된 이미지 파일을 읽고 request.response.write()를 통해 클라이언트에 내용을 보냅니다.

문제는 읽은 데이터의 형식입니다. 이미지 파일을 16 비트 문자열 또는 바이트 배열로 읽습니다. 어느 쪽도 클라이언트에 보낼 원시 8 비트 배열과 호환되지 않습니다.

누군가 나를 도와 줄 수 있습니까?

+1

그리고 정확히 바이트 (바이트 = 8 비트) 배열에 어떤 문제가 있는지? 형식은 바이트 데이터 형식이 없기 때문에 목록 이며 목록의 가능한 값은 여전히 ​​0-255까지입니다. 나는 당신의 문제가'writeCharCode()'대신'write() '를 사용하고 있다고 생각한다. – MarioP

+0

쓰기 기능을 가리켜 주신 것에 대해 대단히 감사드립니다. 사실, writeCharCode는 이미지 데이터의 시작 부분에 잘못된 바이트를 앞에 붙입니다. 대신 request.response.write()를 사용하여 이미지를 보내면 효과가있었습니다. 문안 인사 –

답변

1

응답 클래스에는 여러 가지 종류의 쓰기 메소드가 있습니다.

  1. "쓰기" '와 같이'데이터를 기록하는 동안

추가 기록

  • writeCharCode는 "writeCharCode는"다시 원시 포맷으로 데이터를 변환한다. 그러나 writeCharCode는 시작 부분에 "magic byte"(C2)를 앞에 두어 데이터를 손상시킵니다.

    add (List < int>)라는 또 다른 함수는 원하는대로 readAsBytes-result를 처리합니다.

    안부, 알렉스