当我上传带有URL(查询)的图像时,出现错误。当我将URL放入浏览器时,一切正常。 那么上传图片的最佳方法是什么? 我已经阅读了有关question的分段图像的信息,但似乎不建议使用。 URL非常长,以这种方式进行操作感觉不对。
此代码产生错误:
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try{
int status = urlConnection.getResponseCode();
if(status >= 400 && status < 600){
InputStream error = urlConnection.getErrorStream();
}else {
InputStream inS = urlConnection.getInputStream();
Scanner scanner = new Scanner(inS);
scanner.useDelimiter("\\A");
boolean hasInput = scanner.hasNext();
if (hasInput) {
return scanner.next();
} else {
return null;
}
}
} finally {
urlConnection.disconnect();
}
return null;
errorStream 是:
buffer(com.android.okhttp.internal.http.HttpConnection$UnknownLengthSource@752fbde).inputStream()
响应代码是400。
使用以下代码完成从图像到字符串的转换:
BitmapDrawable bitmapDrawable = ((BitmapDrawable) eventImageIv.getDrawable());
Bitmap bitmap = bitmapDrawable.getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 0, stream);
byte[] imgByteArr = stream.toByteArray(); // make bit array
img = Base64.encodeToString(imgByteArr, Base64.NO_WRAP);
我希望这是足够的信息和代码,并感谢任何批评意见或帮助