0

이미지의 sd 카드 경로가 있습니다. 이제 이미지를 서버에 업로드하려고하기 때문에 이미지를 바이트 배열로 변환하는 다음 단계는 무엇입니까?서버로 이미지를 업로드하기 위해 bytearray로 이미지 변환 Android

미리 감사드립니다.

+0

먼저 bytearray로 변환하지 마십시오. 비트 맵을 사용하여로드하지 마십시오. 그냥 바이트 버퍼에서 읽고 출력 스트림에 루프로 씁니다. – greenapps

답변

1
public static byte[] toByteArray (Bitmap raw) { 

    byte[] byteArray = null; 

    try { 
     ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
     raw.compress (Bitmap.CompressFormat.JPEG, 100, stream); 
     byteArray = stream.toByteArray(); 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return byteArray; 
} 
+0

파일을 비트 맵에 놓은 다음 특정 품질로 jpg로 압축하면 다른 형식과 품질이 낮은 그림이 생성됩니다. 그래서 이것은 질문에 대한 대답이 아닙니다. – greenapps

+0

손실 품질이 아닌 PNG 압축 형식을 사용할 수도 있습니다. 당신이 그걸 알고 있기를 바랍니다. –

+0

예 알아요. 그러나 OP는 그가 PNG를 원한다고 말하지 않았다. 그리고 여전히 비트 맵에 파일을 배치 할 필요가 없습니다. 모든 종류의 변화가 일어날 수 있습니다. 파일을 그대로 업로드하는 것이 훨씬 낫습니다. 바이트의 바이트. 중간 비트 맵을 사용하지 않고 bytearray에 파일을 배치 할 수 있습니다. 그러면 파일의 모든 바이트가 bytearray에 있습니다. 그렇게 할 경우에만 귀하의 게시물이 질문에 대한 답변이 될 것입니다. – greenapps