diff --git a/dsCommonTools/.idea/workspace.xml b/dsCommonTools/.idea/workspace.xml
index 562f0ac1..0b752f21 100644
--- a/dsCommonTools/.idea/workspace.xml
+++ b/dsCommonTools/.idea/workspace.xml
@@ -4,6 +4,9 @@
+
+
+
diff --git a/dsCommonTools/Business/MinIORelate/MinIORelateController/MinIORelateController.go b/dsCommonTools/Business/MinIORelate/MinIORelateController/MinIORelateController.go
index 48fec73a..c32f7045 100644
--- a/dsCommonTools/Business/MinIORelate/MinIORelateController/MinIORelateController.go
+++ b/dsCommonTools/Business/MinIORelate/MinIORelateController/MinIORelateController.go
@@ -22,18 +22,48 @@ func Routers(r *gin.RouterGroup) {
rr := r.Group("/minioRelate")
rr.GET("/getPostPolicyInfo", getPostPolicyInfo)
- rr.GET("/GeneratePreviewUrl", GeneratePreviewUrl)
- rr.GET("/SaveFileInfo", SaveFileInfo)
+ rr.GET("/generatePreviewUrl", generatePreviewUrl)
+ rr.GET("/saveFileInfo", saveFileInfo)
+ rr.GET("/getFileDownLoadUrl", getFileDownLoadUrl)
return
}
+/**
+功能:根据ID获取文件的下载地址和原始文件名
+*/
+func getFileDownLoadUrl(c *gin.Context) {
+ id := c.Query("id")
+ if id == "" {
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "文件id参数不允许为空!"})
+ return
+ }
+
+ resMap, err := MinIORelateDao.GetDownLoadUrl(id)
+ if err != nil {
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "获取文件信息失败!"})
+ return
+ }
+ if len(resMap) == 0 {
+ c.JSON(http.StatusOK, gin.H{"success": false, "info": "未查询到文件信息!"})
+ return
+ }
+
+ originName := resMap["origin_name"]
+ storageKey := resMap["storage_key"]
+ storageBucket := resMap["storage_bucket"]
+ downloadUrl := ConfigUtil.MinioDownloadPrefix + storageBucket + "/" + storageKey
+
+ c.JSON(http.StatusOK, gin.H{"success": true, "download_url": downloadUrl, "origin_name": originName})
+
+}
+
/**
功能:前台直传文件成功后,保存上传文件相间信息
作者:吴缤
日期:2021-07-06
*/
-func SaveFileInfo(c *gin.Context) {
+func saveFileInfo(c *gin.Context) {
id := c.Query("id")
if id == "" {
c.JSON(http.StatusOK, gin.H{"success": false, "info": "文件id参数不允许为空!"})
@@ -100,7 +130,7 @@ func SaveFileInfo(c *gin.Context) {
作者:吴缤
日期:2021-07-05
*/
-func GeneratePreviewUrl(c *gin.Context) {
+func generatePreviewUrl(c *gin.Context) {
id := c.Query("id")
if id == "" {
c.JSON(http.StatusOK, gin.H{"success": false, "info": "id参数不允许为空!"})
diff --git a/dsCommonTools/Business/MinIORelate/MinIORelateDao/MinIORelateDao.go b/dsCommonTools/Business/MinIORelate/MinIORelateDao/MinIORelateDao.go
index d4b164f3..092b8b3c 100644
--- a/dsCommonTools/Business/MinIORelate/MinIORelateDao/MinIORelateDao.go
+++ b/dsCommonTools/Business/MinIORelate/MinIORelateDao/MinIORelateDao.go
@@ -19,3 +19,11 @@ func GetFileKey(id string) (string, error) {
_, err := db.SQL(sql, id).Get(&key)
return key, err
}
+
+func GetDownLoadUrl(id string) (map[string]string, error) {
+ sql := "select storage_url_prefix,storage_key,origin_name,storage_bucket from t_base_file where id=?"
+ var resMap = make(map[string]string)
+ _, err := db.SQL(sql, id).Get(&resMap)
+ return resMap, err
+
+}
diff --git a/dsCommonTools/Config/Config.ini b/dsCommonTools/Config/Config.ini
index bb986a26..a1a76078 100644
--- a/dsCommonTools/Config/Config.ini
+++ b/dsCommonTools/Config/Config.ini
@@ -33,6 +33,7 @@ minio_endpoint = 10.10.14.231:9000
minio_accessKeyId = minioadmin
minio_secretAccessKey = minioadmin
minio_bucket = dsideal
+download_prefix = http://10.10.14.231:9000/
[obs]
obs_endpoint = https://obs.myhuaweicloud.com
diff --git a/dsCommonTools/Utils/ConfigUtil/ConfigUtil.go b/dsCommonTools/Utils/ConfigUtil/ConfigUtil.go
index 4d4eed19..d27baf58 100644
--- a/dsCommonTools/Utils/ConfigUtil/ConfigUtil.go
+++ b/dsCommonTools/Utils/ConfigUtil/ConfigUtil.go
@@ -29,15 +29,16 @@ var (
MysqlPwd string
//REDIS配置
- RedisIp string
- RedisPort string
- RedisDb string
+ RedisIp string
+ RedisPort string
+ RedisDb string
//minio
MinioEndPoint string
MinioAccessKeyId string
MinioSecretAccessKey string
MinioBucket string
+ MinioDownloadPrefix string
//obs
ObsEndPoint string
@@ -111,6 +112,7 @@ func init() {
MinioAccessKeyId = iniParser.GetString("minio", "minio_accessKeyId")
MinioSecretAccessKey = iniParser.GetString("minio", "minio_secretAccessKey")
MinioBucket = iniParser.GetString("minio", "minio_bucket")
+ MinioDownloadPrefix = iniParser.GetString("minio", "download_prefix")
//obs
ObsEndPoint = iniParser.GetString("obs", "obs_endpoint")