diff --git a/kernel/api/format.go b/kernel/api/format.go index 6b8076941..a7eb4c0ac 100644 --- a/kernel/api/format.go +++ b/kernel/api/format.go @@ -35,7 +35,11 @@ func netImg2LocalAssets(c *gin.Context) { } id := arg["id"].(string) - err := model.NetImg2LocalAssets(id) + var url string + if urlArg := arg["url"]; nil != urlArg { + url = urlArg.(string) + } + err := model.NetImg2LocalAssets(id, url) if nil != err { ret.Code = -1 ret.Msg = err.Error() diff --git a/kernel/model/assets.go b/kernel/model/assets.go index cc415cc57..d8feb64a7 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -70,7 +70,7 @@ func DocImageAssets(rootID string) (ret []string, err error) { return } -func NetImg2LocalAssets(rootID string) (err error) { +func NetImg2LocalAssets(rootID, originalURL string) (err error) { tree, err := loadTreeByBlockID(rootID) if nil != err { return @@ -138,6 +138,7 @@ func NetImg2LocalAssets(rootID string) (err error) { } util.PushUpdateMsg(msgId, fmt.Sprintf(Conf.Language(119), u), 15000) request := httpclient.NewBrowserRequest() + request.SetHeader("Referer", originalURL) resp, reqErr := request.Get(u) if nil != reqErr { logging.LogErrorf("download net img [%s] failed: %s", u, reqErr)