file_info.go
1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package domain
import (
"gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/constant"
"strings"
)
// FileInfo 文件信息
type FileInfo struct {
// 名称
Name string `json:"name"`
// 文件地址
Url string `json:"url"`
// 文件大小
FileSize int `json:"fileSize"`
// 后缀扩展
Ext string `json:"ext"`
// 记录数
RowCount int `json:"rowCount"`
// 表结构ID
TableId int `json:"tableId"`
// 行号
HeaderRow int `json:"headerRow"`
}
// ConvertFileUrlToInternal 传递内网地址
// byte-bank.oss-cn-hangzhou 当oss与字库同属于这个节点下面,使用内网进行传输
func ConvertFileUrlToInternal(fileUrl string) string {
if constant.SERVICE_ENV != "prod" {
return fileUrl
}
var bucketRegion = "https://byte-bank.oss-cn-hangzhou"
var bucketInternalRegion = "https://byte-bank.oss-cn-hangzhou-internal"
if strings.HasPrefix(fileUrl, bucketRegion) {
return strings.Replace(fileUrl, bucketRegion, bucketInternalRegion, 1)
}
return fileUrl
}
// ConvertInternalFileUrlToPublic 转内网地址为外网地址
func ConvertInternalFileUrlToPublic(fileUrl string) string {
//var bucketRegion = "https://byte-bank.oss-cn-hangzhou"
//var bucketInternalRegion = "https://byte-bank.oss-cn-hangzhou-internal"
//if strings.HasPrefix(fileUrl, bucketInternalRegion) {
// return strings.Replace(fileUrl, bucketInternalRegion, bucketRegion, 1)
//}
var internal = "-internal"
if strings.Contains(fileUrl, internal) {
return strings.Replace(fileUrl, internal, "", 1)
}
return fileUrl
}