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 } }