Files
OpenList/server/controllers/get.go

69 lines
1.6 KiB
Go
Raw Normal View History

2020-12-29 13:37:58 +08:00
package controllers
import (
"github.com/Xhofe/alist/alidrive"
"github.com/gin-gonic/gin"
log "github.com/sirupsen/logrus"
"strings"
)
2020-12-31 15:03:25 +08:00
// 因为下载地址有时效,所以去掉了文件请求和直链的缓存
2020-12-29 13:37:58 +08:00
func Get(c *gin.Context) {
var get alidrive.GetReq
if err := c.ShouldBindJSON(&get); err != nil {
c.JSON(200,metaResponse(400,"Bad Request"))
return
}
2020-12-31 15:03:25 +08:00
log.Debugf("get:%+v",get)
2020-12-29 13:37:58 +08:00
// cache
2020-12-31 15:03:25 +08:00
//cacheKey:=fmt.Sprintf("%s-%s","g",get.FileId)
//if conf.Conf.Cache.Enable {
// file,exist:=conf.Cache.Get(cacheKey)
// if exist {
// log.Debugf("使用了缓存:%s",cacheKey)
// c.JSON(200,dataResponse(file))
// return
// }
//}
2020-12-29 13:37:58 +08:00
file,err:=alidrive.GetFile(get.FileId)
if err !=nil {
c.JSON(200,metaResponse(500,err.Error()))
return
}
paths,err:=alidrive.GetPaths(get.FileId)
if err!=nil {
c.JSON(200,metaResponse(500,err.Error()))
return
}
file.Paths=*paths
2020-12-31 15:03:25 +08:00
//if conf.Conf.Cache.Enable {
// conf.Cache.Set(cacheKey,file,cache.DefaultExpiration)
//}
2020-12-29 13:37:58 +08:00
c.JSON(200,dataResponse(file))
}
func Down(c *gin.Context) {
fileIdParam:=c.Param("file_id")
log.Debugf("down:%s",fileIdParam)
fileId:=strings.Split(fileIdParam,"/")[1]
2020-12-31 15:03:25 +08:00
//cacheKey:=fmt.Sprintf("%s-%s","d",fileId)
//if conf.Conf.Cache.Enable {
// downloadUrl,exist:=conf.Cache.Get(cacheKey)
// if exist {
// log.Debugf("使用了缓存:%s",cacheKey)
// c.Redirect(301,downloadUrl.(string))
// return
// }
//}
2020-12-29 13:37:58 +08:00
file,err:=alidrive.GetFile(fileId)
if err != nil {
c.JSON(200, metaResponse(500,err.Error()))
return
}
2020-12-31 15:03:25 +08:00
//if conf.Conf.Cache.Enable {
// conf.Cache.Set(cacheKey,file.DownloadUrl,cache.DefaultExpiration)
//}
2020-12-29 13:37:58 +08:00
c.Redirect(301,file.DownloadUrl)
return
}