트위터에서 이미지를 끌어옵니다. 이미지는 형태의 URL에서 도달 할 수 있습니다HTTP 요청의 이미지 유효성 확인
가https://pbs.twimg.com/media/BzQXyBJIAAIU6D0.jpg
이미지를 검색하기 위해, 나는 다음과 같은 코드를 적용하지만
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
httpConnection.setRequestMethod ("GET");
httpConnection.connect();
int code = httpConnection.getResponseCode();
if (code == HttpURLConnection.HTTP_OK){
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(destinationFile);
byte[] b = new byte[2048];
int length;
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
is.close();
os.close();
httpConnection.disconnect();
}
를, 가끔 일어나는이 같은 이미지 :
https://pbs.twimg.com/media/By_ui7QIgAE021Z.jpg
이 다소 변형되었지만 code=200
이지만 여기에 게시 한 코드는 작동하지 않습니다. 오류 :
Corrupt JPEG data: premature end of data segment
java.io.FileNotFoundException: https://pbs.twimg.com/media/By_ui7QIgAE021Z.jpg
예외는 지침 openStream()
에 의해 생성됩니다.
어떻게 이런 일이 발생하지 않도록 할 수 있습니까? 이미지 유효성을 확인하는 방법?
코드가 출력과 일치하지 않습니다. 코드 예제에 '손상된 JPEG 데이터 : 데이터 세그먼트의 조기 종료'를 출력 할 수있는 것은 없습니다. – jarnbjo