mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-29 03:11:56 +08:00
Feat: put / get file in qiniu policy
This commit is contained in:
@@ -126,18 +126,23 @@ func (policy *Policy) GenerateFileName(uid uint, origin string) string {
|
||||
}
|
||||
|
||||
// 部分存储策略可以使用{origin}代表原始文件名
|
||||
switch policy.Type {
|
||||
case "qiniu":
|
||||
// 七牛会将$(fname)自动替换为原始文件名
|
||||
replaceTable["{originname}"] = "$(fname)"
|
||||
case "local", "remote":
|
||||
if origin == "" {
|
||||
// 如果上游未传回原始文件名,则使用占位符,让云存储端替换
|
||||
switch policy.Type {
|
||||
case "qiniu":
|
||||
// 七牛会将$(fname)自动替换为原始文件名
|
||||
replaceTable["{originname}"] = "$(fname)"
|
||||
case "local", "remote":
|
||||
replaceTable["{originname}"] = origin
|
||||
case "oss":
|
||||
// OSS会将${filename}自动替换为原始文件名
|
||||
replaceTable["{originname}"] = "${filename}"
|
||||
case "upyun":
|
||||
// Upyun会将{filename}{.suffix}自动替换为原始文件名
|
||||
replaceTable["{originname}"] = "{filename}{.suffix}"
|
||||
}
|
||||
} else {
|
||||
replaceTable["{originname}"] = origin
|
||||
case "oss":
|
||||
// OSS会将${filename}自动替换为原始文件名
|
||||
replaceTable["{originname}"] = "${filename}"
|
||||
case "upyun":
|
||||
// Upyun会将{filename}{.suffix}自动替换为原始文件名
|
||||
replaceTable["{originname}"] = "{filename}{.suffix}"
|
||||
}
|
||||
|
||||
fileRule = util.Replace(replaceTable, fileRule)
|
||||
|
||||
@@ -123,7 +123,7 @@ func TestPolicy_GenerateFileName(t *testing.T) {
|
||||
|
||||
testPolicy.Type = "qiniu"
|
||||
testPolicy.FileNameRule = "{uid}123{originname}"
|
||||
asserts.Equal("1123$(fname)", testPolicy.GenerateFileName(1, "123.txt"))
|
||||
asserts.Equal("1123123.txt", testPolicy.GenerateFileName(1, "123.txt"))
|
||||
|
||||
testPolicy.Type = "oss"
|
||||
testPolicy.FileNameRule = "{uid}123{originname}"
|
||||
@@ -132,6 +132,7 @@ func TestPolicy_GenerateFileName(t *testing.T) {
|
||||
testPolicy.Type = "upyun"
|
||||
testPolicy.FileNameRule = "{uid}123{originname}"
|
||||
asserts.Equal("1123{filename}{.suffix}", testPolicy.GenerateFileName(1, ""))
|
||||
|
||||
}
|
||||
|
||||
func TestPolicy_IsDirectlyPreview(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user