Ada*_*n P 2 post base64 bitmap android-studio retrofit2
我的 onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_INTENT_REQUEST_CODE && resultCode == RESULT_OK && data != null && data.getExtras() != null) {
if (data.getData() == null) {
bitmap = (Bitmap) data.getExtras().get("data");
resultImage.setImageBitmap(bitmap);
} else {
try {
bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData());
resultImage.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
} else {
Toast.makeText(this, "Cancelled", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
将“位图”转换为“Base64”
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
String convertImage = Base64.encodeToString(byteArray, Base64.DEFAULT);
Log.e("CONVERT IMAGE : ", "" + convertImage);
Run Code Online (Sandbox Code Playgroud)
API调用
内容类型:应用程序/json
JSONObject paramObject = new JSONObject();
paramObject.put("file", convertImage); //Base64 image
paramObject.put("userName", name);
Call<Response> addImage = apiInterface.AddImage( user, paramObject.toString());
Run Code Online (Sandbox Code Playgroud)
POST方法
@POST("{user}/image")
Call<Response> AddImage( @Path("user") String user, @Body String body);
Run Code Online (Sandbox Code Playgroud)
转换后的图像 - 日志结果
E/CONVERT IMAGE :: iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAIAAAD6wG44AAAAA3NCSV...
Run Code Online (Sandbox Code Playgroud)
但是我需要如下传递我的 Base64 字符串,我的字符串缺少数据部分
数据:图像/png;base64,iVBORw0KGgoAAAANSUhEUgAAATIAAAExCAY......
问题是什么?
只需data:image/png;base64,在开头追加
JSONObject paramObject = new JSONObject();
paramObject.put("file", "data:image/png;base64,"+convertImage);
paramObject.put("userName", name);
Call<Response> addImage = apiInterface.AddImage( user, paramObject.toString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4144 次 |
| 最近记录: |