0
Google 이미지 검색을 사용하여 이미지를 프로그래밍 방식으로 (안드로이드) 업로드하고 결과를 파싱하려고합니다. 계속해서 오류가 발생합니다. "이미지 형식이 .jpg, .gif, .png, .bmp, .tif 또는 .webp 중 하나 여야합니다."POST를 통해 안드로이드에서 JPEG 형식으로 이미지 업로드
브라우저에서 똑같은 작업을하면 잘 작동합니다. 내가 피들러를 통해 두 개의 요청을 비교하여 둘 다 지금까지 콘텐츠 형식에 관한 한 유사 :
Content-Type: multipart/form-data; boundary=A3EwwOwLJr168nlq1CZSlVUuQ1m5X9W
--A3EwwOwLJr168nlq1CZSlVUuQ1m5X9W
Content-Disposition: form-data; name="file"; filename="File_1390748740620.jpeg"
Content-Type: image/jpeg
나는 문제가 무엇인지 알아낼 수 없습니다입니다. 안내해주십시오. 코드는 다음과 같습니다 (코드에서 두 가지 방법을 시도했습니다).
// Approach 1:
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
// Bitmap bitmap = BitmapFactory.decodeFile(fileName);
// bitmap.compress(CompressFormat.JPEG, 100, bos);
// byte[] data = bos.toByteArray();
// ByteArrayBody bab = new ByteArrayBody(data, "image/jpeg", fileName);
// Approach 2:
File file = new File(fileName);
ContentBody cbFile = new FileBody(file, "image/jpeg");
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("file", cbFile);
HttpPost post = new HttpPost(uploadUrl);
post.setEntity(reqEntity);