我正在尝试上传一张图片,保存在我手机的内存中,通过一个安卓应用程序点击到云服务,并且正在使用 Kinvey 这样做。但我面临一些问题。
每次我运行包含上传部分的代码时,都会遇到异常。我正在上传“.png”类型的图像。与 Google Cloud Platform 不同,任何到 blob 的转换都不是必需的过程。
这是我的 .java 代码 -
`Client mKinveyClient = new Client.Builder(APP_KEY, SECRET_KEY, this.getApplicationContext()).build();
mKinveyClient.enableDebugLogging();
mKinveyClient.ping(new KinveyPingCallback() {
public void onFailure(Throwable t) {
Log.e(TAG, "Kinvey Ping Failed", t);
}
public void onSuccess(Boolean b) {
Log.d(TAG, "Kinvey Ping Success");
}
});
java.io.File file = new java.io.File(Environment.getExternalStorageDirectory().getPath() + "/Camera/" + "IMG_20161115_193353.jpg");
mKinveyClient.file().upload(file, new UploaderProgressListener() {
public void onSuccess(Void result) {
Log.i(TAG, "successfully upload file");
}
@Override
public void onSuccess(FileMetaData fileMetaData) {
Log.i(TAG, "successfully uploaded file");
}
@Override
public void onFailure(Throwable error) {
Log.e(TAG, "failed to upload file.", error);
}
@Override
public void progressChanged(MediaHttpUploader uploader) throws IOException {
Log.i(TAG, "upload progress: " + uploader.getUploadState()); // all updates to UI widgets need to be done on the UI thread
}
});`
现在,虽然 ping 调用给了我一个成功的响应,但上传部分给了我一个错误。
E/活动文件:上传文件失败。com.kinvey.java.KinveyException:原因:当前没有用户登录。
我已经在 kinvey 的讨论平台和这里搜索了很多关于这个主题的内容。但我还是被困住了。我不知道我哪里出错了,或者我可能会错过什么。
如果有人成功通过kinvey上传图片,请帮助我。