HTTP 헤더 Range
을 사용하면 클라이언트가 서버에서 특정 범위의 바이트 만 요청할 수 있습니다.다운로드 전용 HTTP 요청이있는 JPG의 일부
GET myfile.jpg HTTP/1.1
"http://myhost"
Range=bytes=1000-1200
서버는이 응답 기능을 지원하며, 어쩌면 Accept-Range
헤더에 의해, 상기 요청 이후 1000 바이트 만 200 바이트가 반환 나타내면.
이 방법으로 JPG 이미지에서 사용 가능한 부품을 얻을 수 있습니까? 실제 JPG가 800x1197 픽셀을 측정한다고 가정 해보십시오. 픽셀 200x200과 400x400 사이의 하위 이미지 만 요청하려면 어떻게해야합니까?
저에게 이미지의 가로로 자른 조각 만 수신하는 것처럼 보입니다. 그러나 이것은 전체 이미지 파일을 얻는 것보다 이미 좋을 것입니다. 그래서 위의 예제에서 저는 다운로드를 시도 할 수 있다고 말했을 것입니다 : 200 (y 축)에서 400 (y 축)까지 슬라이스 한 다음 그에 따라 클라이언트 측에서 결과를 자릅니다.
은 우리가 이미뿐만 아니라 파일의 내용 길이를 알고 있다고 가정 선행 HTTP 요청에 의해 결정되었을 수 있습니다 실제 이미지 크기, 같은 : 바이트콘텐츠 길이 : 88,073 JPG 크기 : 800x1197
이 이미지를 요청할 수있는 바이트 범위는 어느 것입니까? JPG에는 계정에서 사용되어야하는 메타 데이터가 있다고 가정합니다. 아니면 jpg 압축으로이 시도가 불가능합니까? 최종 잘라내 기가 원본의 메타 데이터를 포함하지 않는 경우에는 괜찮습니다.
그러나 초기 요청이 필요할 수도 있습니다. 메타 데이터를 가져 오려면 처음부터 몇 바이트가 필요합니다. 이를 바탕으로 실제 바이트 범위가 결정될 수 있습니다.
누군가가 나에게이 접근 방법에 대한 힌트를 줄 수 있다면 아주 좋을 것입니다.
알겠습니다. 이것은 매우 분명합니다. 나는 JPG로 시도한 것이 불가능하다는 결론에 도달했다. PNG를 사용하면 효과가 있다고 생각하지만 JPEG로 설명하면됩니다. –