我有以下令人讨厌的堆栈跟踪
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: class com.baasbox.android.BaasClientException :{"result":"error","message":"The body payload cannot be empty. Hint: put in the request header Content-Type: application/json","resource":"/document/Images","method":"POST","request_header":{"X-BAASBOX-APPCODE":["1234567890"],"Connection":["Keep-Alive"],"Content-Length":["316039"],"X-BB-SESSION":["187be9f8-dc77-436d-89de-65dd3cf0e2ba"],"Content-Type":["application/json;charset=UTF-8"],"Accept-Encoding":["gzip"],"User-Agent":["BaasBox AndroidSDK/0.9.2"],"Host":["192.168.192.59:9000"]},"API_version":"0.9.5"}
at com.baasbox.android.NetworkTask.onClientError(NetworkTask.java:98)
at com.baasbox.android.NetworkTask.parseResponse(NetworkTask.java:63)
at com.baasbox.android.NetworkTask.asyncCall(NetworkTask.java:151)
at com.baasbox.android.impl.Task.execute(Task.java:189)
at com.baasbox.android.impl.Dispatcher$Worker.run(Dispatcher.java:170)当我尝试将图片保存到以前在本地baasbox安装上创建的集合中时,会发生这种情况,以下是导致问题的代码,不确定实际问题是什么……您可能带来的任何帮助都将受到高度的感谢。
Bitmap bitmap = MediaStore.Images.Media.getBitmap( this.getContentResolver(), selectedImage);
ImageView imageView = (ImageView)findViewById(R.id.shareImageView);
imageView.setImageBitmap(bitmap);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
BaasDocument doc = new BaasDocument("Images");
doc.put("title","Image");
doc.put("body", byteArray);
doc.save(new BaasHandler<BaasDocument>() {
@Override
public void handle(BaasResult<BaasDocument> res) {
if(res.isSuccess()) {
Log.d("LOG","Saved: "+res.value());
} else {
Log.d("LOG","No Saved: "+res.value());
}
}
});发布于 2016-08-17 07:37:36
这段代码解决了这个问题,而不是将图像视为文档,我应该从一开始就使用文件,任何关于何时使用文件和何时使用文档的注释都非常受欢迎。
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
JsonObject attachedData = new JsonObject();
attachedData.put("username", BaasUser.current().getName());
BaasFile file = new BaasFile(attachedData);
//BaasACL acl = new BaasACL().grantUsers(Grant.READ,"all");
//file.upload(acl, byteArray,new BaasHandler<BaasFile> () {
file.upload(byteArray,new BaasHandler<BaasFile> () {
@Override
public void handle(BaasResult<BaasFile> res) {
if( res.isSuccess() ) {
Log.d("LOG","File uploaded with permissions");
} else {
Log.e("LOG","Deal with error",res.error());
}
}
});https://stackoverflow.com/questions/38985218
复制相似问题