modified: models/policy.go (#1718)

modified:   models/policy_test.go
This commit is contained in:
Arkylin 2023-05-24 12:09:24 +08:00 committed by GitHub
parent 00d56d6d07
commit 6358740cc9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View file

@ -170,6 +170,7 @@ func (policy *Policy) GenerateFileName(uid uint, origin string) string {
"{second}": time.Now().Format("05"),
"{originname}": origin,
"{ext}": filepath.Ext(origin),
"{originname_without_ext}": strings.TrimSuffix(origin, filepath.Ext(origin)),
"{uuid}": uuid.Must(uuid.NewV4()).String(),
}

View file

@ -134,6 +134,12 @@ func TestPolicy_GenerateFileName(t *testing.T) {
testPolicy.FileNameRule = "123{date}ss{datetime}"
asserts.Len(testPolicy.GenerateFileName(1, "123.txt"), 27)
testPolicy.FileNameRule = "{originname_without_ext}"
asserts.Len(testPolicy.GenerateFileName(1, "123.txt"), 3)
testPolicy.FileNameRule = "{originname_without_ext}_{randomkey8}{ext}"
asserts.Len(testPolicy.GenerateFileName(1, "123.txt"), 16)
// 支持{originname}的策略
testPolicy.Type = "local"
testPolicy.FileNameRule = "123{originname}"