类似 Git 的文件存储服务
配置项(application.groovy 或 yml 文件):// 注:压缩级别和加密会影响性能,尤其是处理大文件的 CPU 耗时
bropen.framework.resource.attachment.storage.clazz = GitstyleService.name
bropen.framework.resource.attachment.storage.gitstyle.compressionLevel = 9 // -1 ~ 9 的文件压缩选项,默认为 -1
bropen.framework.resource.attachment.storage.gitstyle.splitFile = false // 是否把大文件分割为小文件,默认为 true
bropen.framework.resource.attachment.storage.gitstyle.encryptPassword = '......' // 文件加密密码,长度可为 16、24、32 位,一旦设置,请不要再修改,否则无法打开已加密的附件
| Type | Name and description |
|---|---|
Integer |
delete(List<String> saveNames, List<String> syncIds) |
boolean |
exists(String saveName, String syncId) |
EncodedInputStreamWrapper |
getEncodedInputStream(javax.servlet.http.HttpServletRequest request, String saveName, String syncId)输出 DEFLATE 压缩的流,用毕请 close |
java.io.InputStream |
getInputStream(String saveName, String syncId) |
Long |
getLength(String saveName, String syncId, Long length) |
String |
getUrl(String saveName, String syncId, String fileName, Long length, String contentType, Date expiration) |
String |
save(String saveName, java.io.InputStream is, String fileName, Long length, String md5) |
boolean |
shouldKeepLocalCopy(String fileName, Long length) |
| Methods inherited from class | Name |
|---|---|
class AbstractStorageService |
delete, deleteFailed, deleteRetry, exists, getEncodedInputStream, getInputStream, getLength, getUrl, isEnabled, save, setEnabled, shouldKeepLocalCopy, transfer |
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
输出 DEFLATE 压缩的流,用毕请 close