@@ -0,0 +1,116 @@
|
||||
package updownloadser
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"91porn-server/app/appg"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/constant"
|
||||
"91porn-server/common/httputil"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/vidmod"
|
||||
)
|
||||
|
||||
// SendVidCover2FS 传送图片
|
||||
func SendVidCover2FS(id string, ext string, fileData string) (respBody commod.Resp, err error) {
|
||||
var params = map[string]string{
|
||||
"fileData": fileData,
|
||||
"ext": ext,
|
||||
}
|
||||
code, err := httputil.DefaultClientPostJsonWithResp(&respBody, common.BindUrl(appg.Conf.URL.UploadImgUrl, id), nil, params)
|
||||
log.Info("http method SendVidCover2FS response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
||||
if err != nil {
|
||||
log.Error("file upload wrong ", log.E(err))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// SendFile2FS 传送视频文件到Fs
|
||||
func SendFile2FS(fileID string, fileData string, pos int64, total int64) (respBody commod.Resp, err error) {
|
||||
respBody = commod.Resp{}
|
||||
var params = map[string]interface{}{
|
||||
"taskId": fileID,
|
||||
"fileData": fileData,
|
||||
"pos": pos,
|
||||
"totalPos": total,
|
||||
"type": "sp",
|
||||
}
|
||||
c, cancle := context.WithTimeout(context.Background(), 5*time.Minute)
|
||||
defer cancle()
|
||||
code, err := httputil.DefaultClientPostJsonWithRespWithCtx(c, &respBody, appg.Conf.URL.UploadUrl, nil, params)
|
||||
log.Info("http method SendFile2FS response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
||||
if err != nil {
|
||||
log.Error("SendFile2FS file upload wrong ", log.E(err))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// SendImageToFS 传送图片
|
||||
func SendImageToFS(fileName, fileData string) (respBody vidmod.FsSendSingleResp, err error) {
|
||||
var params = map[string]interface{}{
|
||||
"fileData": fileData,
|
||||
"fileName": fileName,
|
||||
}
|
||||
code, err := httputil.DefaultClientPostJsonWithResp(&respBody, appg.Conf.URL.SendSingleFile, nil, params)
|
||||
log.Info("http method SendImageToFS response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
||||
if err != nil {
|
||||
log.Error("SendImageToFS file upload wrong ", log.E(err))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
type FileInfo struct {
|
||||
FileName *string `json:"fileName"` // 文件名称
|
||||
FileData *string `json:"fileData"` // 文件存储在那台服务器
|
||||
Resize bool `json:"resize"`
|
||||
}
|
||||
|
||||
type InfoBatch struct {
|
||||
Batch []*FileInfo `json:"batch"` //Info array
|
||||
}
|
||||
|
||||
// SendImageToFSBatch 传送图片
|
||||
func SendImageToFSBatch(batch InfoBatch) (respBody vidmod.FsSendBatchResp, err error) {
|
||||
if len(batch.Batch) == 0 {
|
||||
err = errors.New("no file")
|
||||
return
|
||||
}
|
||||
c, cancle := context.WithTimeout(context.Background(), 5*time.Minute)
|
||||
defer cancle()
|
||||
|
||||
code, err := httputil.DefaultClientPostJsonWithRespWithCtx(c, &respBody, appg.Conf.URL.SendBatchFile, nil, batch)
|
||||
log.Info("http method SendImageToFSBatch response code ==>", log.Any("statusCode", code), log.Any("respCode", respBody.Code))
|
||||
if err != nil {
|
||||
log.Error("SendImageToFSBatch file upload wrong ", log.E(err))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// FsIO 获取io.ready
|
||||
func FsIO(source, mds string) (data []byte, err error) {
|
||||
c, cancle := context.WithTimeout(context.Background(), 5*time.Minute)
|
||||
defer cancle()
|
||||
_, data, err = httputil.DefaultClientGetBytesWithCtx(c, common.BindUrl(getOriginUrl(mds), source), nil)
|
||||
if err != nil {
|
||||
log.ZapLog.Warn("download file error", log.E(err))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func getOriginUrl(mds string) string {
|
||||
switch mds {
|
||||
case constant.MediaSourcePMS:
|
||||
return appg.Conf.URL.CdnUrl
|
||||
case constant.MediaSourceSP:
|
||||
return appg.Conf.URL.OriginUrl
|
||||
case constant.MediaSourceLaoSiJi:
|
||||
return appg.Conf.URL.LaoSiJiOriginUrl
|
||||
case constant.MediaSourceJH1B:
|
||||
return appg.Conf.URL.JH1BOriginUrl
|
||||
default:
|
||||
return appg.Conf.URL.OriginUrl
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user