文件服务客户端
组件编码
hzero-boot-file
一、简介
1.1 概述
文件服务接口集成,使用feign调用实现,依赖客户端操作可避免复杂的Feign调用处理,开发者不用关注客户端与服务端数据交互细节,便于使用和升级处理
1.2 特性
- 基于文件服务实现:hzero-file
1.3 组件坐标
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-file</artifactId>
<version>${hzero.boot.version}</version>
</dependency>
二、使用指南
2.1 文件客户端使用方法
在代码中自动注入文件客户端:
org.hzero.boot.file.FileClient
,方法有较为详细的说明,参考方法说明使用即可
2.1.1 文件上传
/**
* 上传附件文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param attachmentUUID 附件UUID
* @param storageCode 存储配置编码
* @param byteFile 文件byte
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, String fileType, String storageCode, byte[] byteFile)
/**
* 上传附件文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param attachmentUUID 附件UUID
* @param byteFile 文件byte
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, String fileType, byte[] byteFile)
/**
* 上传附件文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param attachmentUUID 附件UUID
* @param byteFile 文件byte
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, byte[] byteFile)
/**
* 加密并上传附件文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param attachmentUUID 附件UUID
* @param byteFile 文件byte
* @return URL
*/
public String uploadEncryptAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, byte[] byteFile)
/**
* 指定密钥加密并上传附件文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param attachmentUUID 附件UUID
* @param byteFile 文件byte
* @param password 密钥
* @return URL
*/
public String uploadEncryptAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, byte[] byteFile, String password)
/**
* 上传附件文件(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param attachmentUUID 附件UUID
* @param fileName 文件名
* @param multipartFile 文件
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, MultipartFile multipartFile)
/**
* 上传附件文件(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param attachmentUUID 附件UUID
* @param fileName 文件名
* @param docType 锁定文件类型标识 0:按照文件原有类型,1:指定锁定文件contentType为application/octet-stream
* @param storageCode 存储配置编码
* @param multipartFile 文件
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, int docType, String storageCode, MultipartFile multipartFile)
/**
* 上传附件文件(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param attachmentUUID 附件UUID
* @param fileName 文件名
* @param docType 锁定文件类型标识 0:按照文件原有类型,1:指定锁定文件contentType为application/octet-stream
* @param multipartFile 文件
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, String fileName, int docType, MultipartFile multipartFile)
/**
* 加密并上传附件文件(Multipart), 不锁定文件类型
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param attachmentUUID 附件UUID
* @param multipartFile 文件
* @return URL
*/
public String uploadEncryptAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, MultipartFile multipartFile)
/**
* 指定密钥加密并上传附件文件(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param attachmentUUID 附件UUID
* @param multipartFile 文件
* @param password 密钥
* @return URL
*/
public String uploadEncryptAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, MultipartFile multipartFile, String password)
/**
* 上传附件文件(Multipart), 不指定文件名(使用文件原名)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param attachmentUUID 附件UUID
* @param multipartFile 文件
* @return URL
*/
public String uploadAttachment(Long organizationId, String bucketName, String directory, String attachmentUUID, MultipartFile multipartFile)
/**
* 上传文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param storageCode 存储配置编码
* @param byteFile 文件byte
* @return URL地址
*/
public String uploadFile(Long organizationId, String bucketName, String directory, String fileName, String fileType, String storageCode, byte[] byteFile)
/**
* 上传文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件byte
* @return URL地址
*/
public String uploadFile(Long organizationId, String bucketName, String directory, String fileName, String fileType, byte[] byteFile)
/**
* 上传文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件byte
* @return URL地址
*/
public String uploadFile(Long organizationId, String bucketName, String directory, String fileName, byte[] byteFile)
/**
* 加密上传文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件byte
* @return URL地址
*/
public String uploadEncryptFile(Long organizationId, String bucketName, String directory, String fileName, byte[] byteFile)
/**
* 指定密钥加密上传文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件byte
* @return URL地址
*/
public String uploadEncryptFile(Long organizationId, String bucketName, String directory, String fileName, byte[] byteFile, String password)
/**
* 上传文件(Multipart),指定特殊类型
*
* @param organizationId 租户Id
* @param bucketName 桶名称
* @param directory 文件夹
* @param fileName 文件名称
* @param docType 锁定文件类型标识 0:按照文件原有类型,1:指定锁定文件contentType为application/octet-stream
* @param multipartFile 文件
* @return 文件url
*/
public String uploadFile(Long organizationId, String bucketName, String directory, String fileName, int docType, String storageCode, MultipartFile multipartFile)
/**
* 上传文件(Multipart),指定特殊类型
*
* @param organizationId 租户Id
* @param bucketName 桶名称
* @param directory 文件夹
* @param fileName 文件名称
* @param docType 锁定文件类型标识 0:按照文件原有类型,1:指定锁定文件contentType为application/octet-stream
* @param multipartFile 文件
* @return 文件url
*/
public String uploadFile(Long organizationId, String bucketName, String directory, String fileName, int docType, MultipartFile multipartFile)
/**
* 上传文件(Multipart)
*
* @param organizationId 租户Id
* @param bucketName 桶名称
* @param directory 文件夹
* @param fileName 文件名称
* @param multipartFile 文件
* @return 文件url
*/
public String uploadFile(Long organizationId, String bucketName, String directory, String fileName, MultipartFile multipartFile)
/**
* 加密上传文件(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @return URL地址
*/
public String uploadEncryptFile(Long organizationId, String bucketName, String directory, MultipartFile multipartFile)
/**
* 指定密钥加密上传文件(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param password 密钥
* @return URL地址
*/
public String uploadEncryptFile(Long organizationId, String bucketName, String directory, MultipartFile multipartFile, String password)
/**
* 上传文件(Multipart),不指定文件名
*
* @param organizationId 租户Id
* @param bucketName 桶名称
* @param directory 文件夹
* @param multipartFile 文件
* @return 文件url
*/
public String uploadFile(Long organizationId, String bucketName, String directory, MultipartFile multipartFile)
/**
* 上传文件(Byte)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param storageCode 存储配置编码
* @param byteFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, String fileType, String storageCode, byte[] byteFile)
/**
* 上传文件(Byte)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, String fileType, byte[] byteFile)
/**
* 上传文件(Byte)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, byte[] byteFile)
/**
* 加密上传文件(Byte)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadEncryptFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, byte[] byteFile)
/**
* 指定密钥加密上传文件(Byte)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param byteFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadEncryptFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, byte[] byteFile, String password)
/**
* 上传文件(MultipartFile)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param docType 锁定文件类型标识 0:按照文件原有类型,1:指定锁定文件contentType为application/octet-stream
* @param storageCode 存储配置编码
* @param multipartFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, int docType, String storageCode, MultipartFile multipartFile)
/**
* 上传文件(MultipartFile)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param docType 锁定文件类型标识 0:按照文件原有类型,1:指定锁定文件contentType为application/octet-stream
* @param multipartFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, int docType, MultipartFile multipartFile)
/**
* 上传文件(MultipartFile)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param fileName 文件名
* @param multipartFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, String fileName, MultipartFile multipartFile)
/**
* 上传文件(MultipartFile)生成MD5,返回文件key,不指定文件名
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param multipartFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadFileWithMD5(Long organizationId, String bucketName, String directory, MultipartFile multipartFile)
/**
* 加密上传文件(MultipartFile)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param multipartFile 文件
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadEncryptFileWithMD5(Long organizationId, String bucketName, String directory, MultipartFile multipartFile)
/**
* 指定密钥加密上传文件(MultipartFile)生成MD5,返回文件key
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param directory 文件夹
* @param multipartFile 文件
* @param password 密钥
* @return FileSimpleDTO
*/
public FileSimpleDTO uploadEncryptFileWithMD5(Long organizationId, String bucketName, String directory, MultipartFile multipartFile, String password)
2.1.2 文件下载
/**
* 通过文件KEY下载文件
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @return Response
*/
public Response downloadFileResponse(Long organizationId, String fileKey)
/**
* 通过文件KEY下载文件并解密
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param password 密钥(不指定传null)
* @return Response
*/
public Response downloadDecryptFileResponse(Long organizationId, String fileKey, String password)
/**
* 通过文件URL下载文件
*
* @param organizationId 租户ID
* @param bucketName 桶
* @param url 文件URL
* @return Response
*/
public Response downloadFileResponse(Long organizationId, String bucketName, String storageCode, String url)
/**
* 通过文件URL下载文件
*
* @param organizationId 租户ID
* @param bucketName 桶
* @param url 文件URL
* @return Response
*/
public Response downloadFileResponse(Long organizationId, String bucketName, String url)
/**
* 通过文件URL下载文件并解密
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url url
* @param password 密钥(不指定传null)
* @return Response
*/
public Response downloadDecryptFileResponse(Long organizationId, String bucketName, String url, String storageCode, String password)
/**
* 通过文件URL下载文件并解密
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url url
* @param password 密钥(不指定传null)
* @return Response
*/
public Response downloadDecryptFileResponse(Long organizationId, String bucketName, String url, String password)
/**
* 通过文件KEY下载文件
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @return InputStream
*/
public InputStream downloadFile(Long organizationId, String fileKey)
/**
* 通过文件KEY下载文件并解密
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param password 密钥(不指定传null)
* @return Response
*/
public InputStream downloadDecryptFile(Long organizationId, String fileKey, String password)
/**
* 通过文件URL下载文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url 文件URL
* @return InputStream
*/
public InputStream downloadFile(Long organizationId, String bucketName, String url)
/**
* 通过文件URL下载文件并解密
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url url
* @param password 密钥(不指定传null)
* @return Response
*/
public InputStream downloadDecryptFile(Long organizationId, String bucketName, String url, String password)
2.1.3 文件删除
/**
* 删除AttachmentUUID下所有文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param storageCode 存储配置编码
* @param attachmentUUIDs 附件UUID集合
*/
public void deleteFile(Long organizationId, String bucketName, List<String> attachmentUUIDs, String storageCode)
/**
* 删除AttachmentUUID下所有文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param attachmentUUIDs 附件UUID集合
*/
public void deleteFile(Long organizationId, String bucketName, List<String> attachmentUUIDs)
/**
* 删除AttachmentUUID下URL对应的文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param attachmentUUID 附件UUID
* @param urls 文件URL集合
*/
public void deleteFile(Long organizationId, String bucketName, String attachmentUUID, List<String> urls, String storageCode)
/**
* 删除AttachmentUUID下URL对应的文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param attachmentUUID 附件UUID
* @param urls 文件URL集合
*/
public void deleteFile(Long organizationId, String bucketName, String attachmentUUID, List<String> urls)
/**
* 删除AttachmentUUID下URL对应的文件,不能删空
*
* @param organizationId 租户Id
* @param bucketName 桶名
* @param attachmentUUID 附件UUID
* @param urls 文件url
*/
public void deleteFileNotNull(Long organizationId, String bucketName, String attachmentUUID, String storageCode, List<String> urls)
/**
* 删除AttachmentUUID下URL对应的文件,不能删空
*
* @param organizationId 租户Id
* @param bucketName 桶名
* @param attachmentUUID 附件UUID
* @param urls 文件url
*/
public void deleteFileNotNull(Long organizationId, String bucketName, String attachmentUUID, List<String> urls)
/**
* 根据文件KEY删除文件
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
*/
public void deleteFileByKey(Long organizationId, String fileKey)
/**
* 根据文件URL删除文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param storageCode 存储配置编码
* @param urls 文件URL集合
*/
public void deleteFileByUrl(Long organizationId, String bucketName, String storageCode, List<String> urls)
/**
* 根据文件URL删除文件
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param urls 文件URL集合
*/
public void deleteFileByUrl(Long organizationId, String bucketName, List<String> urls)
2.1.4 文件更新
/**
* 根据文件KEY更新文件(Byte)
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param byteFile 文件
* @return 文件url
*/
public String updateFile(Long organizationId, String fileKey, byte[] byteFile)
/**
* 根据文件KEY更新文件并加密(Byte)
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param byteFile 文件
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String fileKey, byte[] byteFile)
/**
* 根据文件KEY更新文件并指定密钥加密(Byte)
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param byteFile 文件
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String fileKey, byte[] byteFile, String password)
/**
* 根据文件KEY更新文件(MultipartFile)
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param multipartFile 文件
* @return 文件url
*/
public String updateFile(Long organizationId, String fileKey, MultipartFile multipartFile)
/**
* 根据文件KEY更新文件并加密(MultipartFile)
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param multipartFile 文件
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String fileKey, MultipartFile multipartFile)
/**
* 根据文件KEY更新文件并加密(MultipartFile)
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @param multipartFile 文件
* @param password 密钥
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String fileKey, MultipartFile multipartFile, String password)
/**
* 根据文件URL更新文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url 文件URL
* @param storageCode 存储配置编码
* @param byteFile 文件
* @return 文件url
*/
public String updateFile(Long organizationId, String bucketName, String url, String storageCode, byte[] byteFile)
/**
* 根据文件URL更新文件(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url 文件URL
* @param byteFile 文件
* @return 文件url
*/
public String updateFile(Long organizationId, String bucketName, String url, byte[] byteFile)
/**
* 根据文件URL更新文件并加密(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶
* @param url url
* @param byteFile 文件
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String bucketName, String url, byte[] byteFile)
/**
* 根据文件URL更新文件并指定密钥加密(Byte)
*
* @param organizationId 租户ID
* @param bucketName 桶
* @param url url
* @param byteFile 文件
* @param password 密钥
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String bucketName, String url, byte[] byteFile, String password)
/**
* 根据文件URL更新文件(MultipartFile)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url 文件URL
* @param storageCode 存储配置编码
* @param multipartFile 文件
* @return 文件url
*/
public String updateFile(Long organizationId, String bucketName, String url, String storageCode, MultipartFile multipartFile)
/**
* 根据文件URL更新文件(MultipartFile)
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url 文件URL
* @param multipartFile 文件
* @return 文件url
*/
public String updateFile(Long organizationId, String bucketName, String url, MultipartFile multipartFile)
/**
* 根据文件URL更新文件并加密(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶
* @param url url
* @param multipartFile 文件
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String bucketName, String url, MultipartFile multipartFile)
/**
* 根据文件URL更新文件并指定密钥加密(Multipart)
*
* @param organizationId 租户ID
* @param bucketName 桶
* @param url url
* @param multipartFile 文件
* @param password 密钥
* @return 文件url
*/
public String updateEncryptFile(Long organizationId, String bucketName, String url, MultipartFile multipartFile, String password)
2.1.5 获取文件授权url
/**
* 指定存储获取文件授权URL
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param storageCode 存储配置编码
* @param url 文件URL
* @return 带授权签名的URL
*/
public String getSignedUrl(Long organizationId, String bucketName, String storageCode, String url)
/**
* 获取文件授权URL
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param url 文件URL
* @return 带授权签名的URL
*/
public String getSignedUrl(Long organizationId, String bucketName, String url)
/**
* 根据文件key,获取授权URL
*
* @param organizationId 租户ID
* @param fileKey 文件KEY
* @return FileSimpleDTO
*/
public FileSimpleDTO getSignedUrl(Long organizationId, String fileKey)
2.1.6 获取附件UUID
/**
* 获取附件UUID
*
* @param organizationId 租户ID
* @return UUID
*/
public String getAttachmentUUID(Long organizationId)
2.1.7 获取附件文件列表
/**
* 获取附件文件列表
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param attachmentUUID 附件UUID
* @return List<FileDTO> 文件列表
*/
public List<FileDTO> getAttachmentFiles(Long organizationId, String bucketName, String attachmentUUID)
2.1.8 获取附件文件数量
/**
* 获取附件文件个数
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param attachmentUUID 附件UUID
* @return Integer 条数
*/
public Integer getAttachmentFileCount(Long organizationId, String bucketName, String attachmentUUID)
2.1.9 校验附件Id下是否有文件
/**
* 校验多个附件ID下是否有文件
*
* @param organizationId 租户Id
* @param bucketName 桶名
* @param uuidList 文件UUID
* @return Map
*/
public Map<String, Boolean> checkUUid(Long organizationId, String bucketName, List<String> uuidList)
2.1.10 获取文件信息列表
/**
* 根据URL集合批量获取文件信息
*
* @param organizationId 租户ID
* @param bucketName 桶名
* @param urls 文件URL集合
* @return List<FileDTO> 文件集合
*/
public List<FileDTO> getFiles(Long organizationId, String bucketName, List<String> urls)
2.1.11 复制文件到新的附件ID
/**
* 复制文件
*
* @param organizationId 租户ID
* @param fileParamsDTO 文件参数
* @param listUuid UUID集合
* @param sourceBucketName 来源桶名
* @return Map
*/
public Map<String, String> copyFile(Long organizationId, FileParamsDTO fileParamsDTO, List<String> listUuid, String sourceBucketName)
2.1.12 获取文件名称
/**
* 获取文件名
*
* @param string 文件url或者文件key
* @return 文件名
*/
public String getFileName(String string)
2.2 onlyOffice客户端
onlyOffice服务搭建参照文件服务开发指导
配置参数:
hzero.file.only-office.token # document Sever token
hzero.file.only-office.docServerUrl # document Sever 路径
hzero.file.only-office.callBackUrl # 文件编辑完成的回调地址
hzero.file.only-office.converterUrl # 文件格式转换地址
代码中自动注入onlyOffice客户端
org.hzero.boot.file.OnlyOfficeClient
, 只有hzero.file.only-office.token
配置指定后,onlyOffice相关的bean才会注入
/**
* 根据url获取在线编辑文件的HTML信息
*
* @param tenantId 租户
* @param storageCode 存储编码
* @param url 文件url
* @param permission 编辑权限
* @return html
*/
public String generateHtmlByUrl(Long tenantId, String bucketName, String storageCode, String url, PermissionDTO permission)
/**
* 根据fileKey获取在线编辑文件的HTML信息
*
* @param tenantId 租户
* @param fileKey 文件key
* @param permission 编辑权限
* @return html
*/
public String generateHtmlByKey(Long tenantId, String fileKey, PermissionDTO permission)
/**
* 根据key转换文件 https://api.onlyoffice.com/editors/conversionapi
*
* @param outType 输出的文件类型
* @param tenantId 租户
* @param fileKey 文件key
* @param suffix 原文件格式
* @return 转换后的文件
*/
public byte[] converterByKey(String outType, Long tenantId, String fileKey, String suffix)
/**
* 根据url转换文件
*
* @param outType 输出的文件类型
* @param tenantId 租户
* @param bucketName 桶
* @param storageCode 存储编码
* @param url 文件url
* @param suffix 原文件格式
* @return 转换后的文件
*/
public byte[] converterByUrl(String outType, Long tenantId, String bucketName, String storageCode, String url, String suffix)
三、版本更新日志
0.8.0.RELEASE [2019-02-28]
- 初始文件客户端程序版本
0.10.0.RELEASE [2019-06-23]
- 添加文件加密上传解密下载
- 文件操作相关接口,添加存储配置编码字段
0.11.0.RELEASE [2019-07-24]
- 添加onlyOffice客户端