xyxie 1 tahun lalu
induk
melakukan
f445549133
4 mengubah file dengan 28 tambahan dan 42 penghapusan
  1. 11 41
      controllers/ppt_v2.go
  2. 8 1
      controllers/sys_role.go
  3. 3 0
      services/aws_s3.go
  4. 6 0
      utils/config.go

+ 11 - 41
controllers/ppt_v2.go

@@ -507,17 +507,19 @@ func (this *PptV2Controller) PptUpload() {
 		br.ErrMsg = "获取PPT详情失败,Err:" + err.Error()
 		return
 	}
-
 	f, h, err := this.GetFile("file")
 	if err != nil {
 		br.Msg = "获取资源信息失败"
 		br.ErrMsg = "获取资源信息失败,Err:" + err.Error()
 		return
 	}
+	defer func() {
+		_ = f.Close()
+	}()
 	uploadFileName := h.Filename //上传的文件名
 	ext := path.Ext(h.Filename)
 	dateDir := time.Now().Format("20060102")
-	uploadDir := utils.STATIC_DIR + "hongze/" + dateDir
+	uploadDir := utils.STATIC_DIR + "ppt/" + dateDir
 	err = os.MkdirAll(uploadDir, utils.DIR_MOD)
 	if err != nil {
 		br.Msg = "存储目录创建失败"
@@ -527,14 +529,16 @@ func (this *PptV2Controller) PptUpload() {
 	randStr := utils.GetRandStringNoSpecialChar(28)
 	fileName := randStr + ext
 	fpath := uploadDir + "/" + fileName
-	defer f.Close() //关闭上传文件
-	err = this.SaveToFile("file", fpath)
-	if err != nil {
+
+	if err = this.SaveToFile("file", fpath); err != nil {
 		br.Msg = "文件上传失败"
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
-	hzUploadDir := "ppt/"
+	defer func() {
+		_ = os.Remove(fpath)
+	}()
+	hzUploadDir := utils.STATIC_DIR + "ppt/"
 	savePptxToOssPath := hzUploadDir + time.Now().Format("200601/20060102/")
 
 	//pptName := strings.Replace(pptItem.Title, "\n", "", -1)
@@ -542,56 +546,22 @@ func (this *PptV2Controller) PptUpload() {
 	pptName := utils.GetRandStringNoSpecialChar(28)
 	savePptxToOssPath += pptName + ".pptx"
 
-	defer func() {
-		_ = os.Remove(fpath)
-	}()
-
 	//上传到阿里云 和 minio
 	pptxUrl := ``
-	//if utils.ObjectStorageClient == "minio" {
-	//	err = services.UploadFileToMinIo("", fpath, savePptxToOssPath)
-	//	if err != nil {
-	//		br.Msg = "文件上传失败"
-	//		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-	//		return
-	//	}
-	//	pptxUrl = utils.MinIoImghost + savePptxToOssPath
-	//} else {
-	//	err = services.UploadFileToAliyun("", fpath, savePptxToOssPath)
-	//	if err != nil {
-	//		br.Msg = "文件上传失败"
-	//		br.ErrMsg = "文件上传失败,Err:" + err.Error()
-	//		return
-	//	}
-	//	pptxUrl = utils.Imghost + savePptxToOssPath
-	//}
 	ossClient := services.NewOssClient()
 	if ossClient == nil {
 		br.Msg = "上传失败"
 		br.ErrMsg = "初始化OSS服务失败"
 		return
 	}
-	pptxUrl, err = ossClient.UploadFile("", fpath, savePptxToOssPath)
+	pptxUrl, err = ossClient.UploadFile(fileName, fpath, savePptxToOssPath)
 	if err != nil {
 		br.Msg = "文件上传失败"
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
 
-	item := &models.Resource{
-		//Id:           0,
-		ResourceUrl:  pptxUrl,
-		CreateTime:   time.Now(),
-		ResourceType: 4,
-	}
-	newId, err := models.AddResource(item)
-	if err != nil {
-		br.Msg = "资源上传失败"
-		br.ErrMsg = "资源上传失败,Err:" + err.Error()
-		return
-	}
 	resp := models.ResourceResp{
-		Id:           newId,
 		ResourceUrl:  pptxUrl,
 		ResourceName: uploadFileName,
 	}

+ 8 - 1
controllers/sys_role.go

@@ -714,7 +714,14 @@ func (this *SysRoleController) SystemConfig() {
 	if osc.ConfVal == "" {
 		osc.ConfVal = "oss"
 	}
-	list = append(list, osc)
+
+	// ppt上传走后端配置
+	pptUpload := system.BusinessConf{
+		ConfKey: "PptUpdateApi",
+		ConfVal: utils.PptUpdateApi,
+	}
+
+	list = append(list, osc, pptUpload)
 
 	// 获取审批流设置
 	//confKey := "approval_flow"

+ 3 - 0
services/aws_s3.go

@@ -138,6 +138,9 @@ func (m *S3Oss) UploadFile(fileName, localFile, savePath string) (resourceUrl st
 		return
 	}
 	resourceUrl = resourceHost + path
+	if utils.ResourceProxyUrl != "" {
+		resourceUrl = utils.ResourceProxyUrl + path
+	}
 	return
 }
 

+ 6 - 0
utils/config.go

@@ -32,6 +32,7 @@ var (
 	EmailSendToUsers string // 邮件提醒人员
 	JhGnAppKey       string // 聚合短信,国内AppKey
 	JhGjAppKey       string // 聚合短信,国际AppKey
+	ResourceProxyUrl string // 代理资源地址
 )
 
 // ES配置
@@ -121,6 +122,7 @@ var (
 // 对象存储客户端
 var (
 	ObjectStorageClient string // 目前有oss minio,默认oss
+	PptUpdateApi        string //ppt 通过后端接口的方式上传
 )
 
 // 阿里云配置
@@ -309,6 +311,8 @@ func init() {
 	// 静态文件目录
 	STATIC_DIR = config["static_dir"]
 
+	// 代理资源地址
+	ResourceProxyUrl = config["resource_proxy_url"]
 	// 系统内部服务地址
 	{
 		// 公共指标库相关
@@ -399,6 +403,8 @@ func init() {
 	// 对象存储客户端
 	ObjectStorageClient = config["object_storage_client"]
 
+	// ppt上传是否走后端
+	PptUpdateApi = config["ppt_update_api"]
 	// OSS相关
 	{
 		Endpoint = config["endpoint"]