diff --git a/apis/public/file.go b/apis/public/file.go index b3b9e3c..ad3321f 100644 --- a/apis/public/file.go +++ b/apis/public/file.go @@ -33,6 +33,7 @@ func UploadFile(c *gin.Context) { saveFilePath string err error protocol string = "http" + requestHost string ) tag, _ = c.GetPostForm("type") fileType = c.DefaultQuery("file_type", "images") @@ -46,13 +47,19 @@ func UploadFile(c *gin.Context) { protocol = "https" } - if viper.GetBool("settings.domain.getHost") { - urlPrefix = fmt.Sprintf("%s://%s/", protocol, c.Request.Host) + requestHostList := strings.Split(c.Request.Host, ":") + if len(requestHostList) > 0 && requestHostList[1] == "80" { + requestHost = requestHostList[0] } else { - if strings.HasSuffix(viper.GetString("settings.domain.url"), "/") { - urlPrefix = viper.GetString("settings.domain.url") - } else { - urlPrefix = fmt.Sprintf("%s://%s/", protocol, viper.GetString("settings.domain.url")) + requestHost = c.Request.Host + } + + if viper.GetBool("settings.domain.getHost") { + urlPrefix = fmt.Sprintf("%s://%s/", protocol, requestHost) + } else { + urlPrefix = fmt.Sprintf("%s://%s", protocol, viper.GetString("settings.domain.url")) + if !strings.HasSuffix(viper.GetString("settings.domain.url"), "/") { + urlPrefix = urlPrefix + "/" } }