fix(fs/get): rawURL if use proxy (close #1664)

pull/1831/head
Noah Hsu 2022-09-13 20:02:57 +08:00
parent a90ef201c7
commit 54ae6dce0b
1 changed files with 16 additions and 16 deletions

View File

@ -250,11 +250,7 @@ func FsGet(c *gin.Context) {
if err == nil { if err == nil {
provider = storage.Config().Name provider = storage.Config().Name
} }
// file have raw url
if !obj.IsDir() { if !obj.IsDir() {
if u, ok := obj.(model.URL); ok {
rawURL = u.URL()
} else {
if err != nil { if err != nil {
common.ErrorResp(c, err, 500) common.ErrorResp(c, err, 500)
return return
@ -268,6 +264,10 @@ func FsGet(c *gin.Context) {
utils.EncodePath(req.Path, true), utils.EncodePath(req.Path, true),
sign.Sign(obj.GetName())) sign.Sign(obj.GetName()))
} }
} else {
// file have raw url
if u, ok := obj.(model.URL); ok {
rawURL = u.URL()
} else { } else {
// if storage is not proxy, use raw url by fs.Link // if storage is not proxy, use raw url by fs.Link
link, _, err := fs.Link(c, req.Path, model.LinkArgs{IP: c.ClientIP(), Header: c.Request.Header}) link, _, err := fs.Link(c, req.Path, model.LinkArgs{IP: c.ClientIP(), Header: c.Request.Header})