文件上传
Storage.uploadFile(filename, bytes)
Storage.uploadFile(filename, categoryId, bytes)
参数说明
返回 CloudFile
的属性
示例代码
try {
CloudFile avatar = Storage.uploadFile(file.getName(), "gallery", Files.readAllBytes(file.toPath()));
user.put(User.AVATAR, avatar.getPath());
user.save();
// 操作成功
} catch (Exception e) {
Log.d(TAG, e.getMessage(), e);
// 操作失败
}
异常请参考异常
info CloudFile 可用于含有 file 类型的数据表的数据操作,详细见 新增数据项
获取文件详情
Storage.file(fileId);
参数说明
示例代码
try {
CloudFile avatar = Storage.file("user_avatar_123");
avatar...
// 操作成功
} catch (Exception e) {
Log.d(TAG, e.getMessage(), e);
// 操作失败
}
异常请参考异常
删除文件
Storage.deleteFiles(fileIds)
参数说明
示例代码
try {
Storage.deleteFiles(Arrays.asList("avatar1", "avatar2", "avatar3"));
// 操作成功
} catch (Exception e) {
// 操作失败
}
info 删除单个文件,如果权限不足,会返回 401;删除多个文件,如果权限不足,则直接跳过该文件
查询,获取文件列表
文件查询与数据表查询方法一致,但只支持以下指定字段的筛选
示例代码
try {
// 查找所有文件
PagedList<CloudFile> all = Storage.files(null);
Where where = new Where();
// 查询某一文件分类下的所有文件
where.equalTo(CloudFile.QUERY_CATEGORY_NAME, "avatars");
// 查询文件名包含指定字符串的文件
where.contains(CloudFile.NAME, "_middle");
Query query = new Query();
query.put(where);
PagedList<CloudFile> middleAvatars = Storage.files(query);
// 操作成功
} catch (Exception e) {
// 操作失败
}
排序
文件查询排序与数据表排序方法一致,但只支持对以下指定字段进行排序
示例代码
try {
// 查找所有文件
Query query = new Query().orderBy(CloudFile.CREATED_AT);
PagedList<CloudFile> all = Storage.files(query);
// 操作成功
} catch (Exception e) {
// 操作失败
}
分页
文件查询排序与数据表分页方法一致
示例代码
try {
// 查找所有文件
Query query = new Query().offset(10).limit(20);
PagedList<CloudFile> pageTwo = Storage.files(query);
// 操作成功
} catch (Exception e) {
// 操作失败
}
图片云处理
利用 CDN 图片云处理,可以快速便捷地完成图片缩放、裁切、打水印等操作,示例如下:
// 缩放图片至 400x400
https://cloud-minapp-7894.cloud.ifanrusercontent.com/1eRuaPvwdleauqyZ.jpg!/both/400x400
// 在图片右下角添加 “知晓云” 文字水印
https://cloud-minapp-7894.cloud.ifanrusercontent.com/1eiuEUuISgOstoVZ.png!/watermark/align/southeast/text/55+l5pmT5LqRCg==
具体用法和更多功能可查看文档:如何通过图片 URL 进行图片云处理?