Android Java的Cloudboost文件url为空
我从Cloudboost文件对象获取所有文件信息时遇到了一个小问题。下面是我用来获取文件id、名称和url的代码。问题是我可以找回身份证和姓名;然而,url是空的,我不知道为什么或者如何修复它。有什么想法吗Android Java的Cloudboost文件url为空,java,android,cloudboost,Java,Android,Cloudboost,我从Cloudboost文件对象获取所有文件信息时遇到了一个小问题。下面是我用来获取文件id、名称和url的代码。问题是我可以找回身份证和姓名;然而,url是空的,我不知道为什么或者如何修复它。有什么想法吗 class FileQuery extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void... params) { CloudQuery q
class FileQuery extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
CloudQuery query = new CloudQuery("Pubs");
query.include("file");
query.equalTo("id", "U1YV132B");
try {
query.find(new CloudObjectArrayCallback() {
@Override
public void done(CloudObject[] x, CloudException t) throws CloudException {
if (x != null) {
for (int i = 0; i < x.length; i++) {
final CloudFile f = new CloudFile(x[i].getDocument());
f.fetch(new CloudFileArrayCallback() {
@Override
public void done(CloudFile[] x, CloudException t) throws CloudException {
Log.d("dozer74", "File Id: " + f.getId()); // This will print out
Log.d("dozer74", "File Name: " + f.getFileName()); // This will print out
Log.d("dozer74", "File URL: " + f.getFileUrl()); // This is null
}
});
}
}
}
});
} catch (CloudException e) {
e.printStackTrace();
}
return null;
}
}
假设表
Pubs
中的列file
实际上是file
类型,并且您将CloudFile
保存到CloudBoost
中,然后将其保存到Pubs
您现在应该像这样访问您的
云文件:
final CloudFile file=new CloudFile(x[i].getDocument().getJSONObject("file"));
这是因为您的线路
final CloudFile f = new CloudFile(x[i].getDocument());
简单地
返回CloudObject的主体
使用上面步骤1的输出创建CloudFile
您缺少一个步骤,如下所示:
1.获取CloudObject的主体
2.在CloudObject
3.使用上面步骤2的输出创建CloudFile
。
CloudObject.getFile([columnName])
是JavaSDK-1.0.3中简化此操作的改进之一,您应该能够很快从CloudBoost
repo中克隆该操作
final CloudFile f = new CloudFile(x[i].getDocument());