Commit c710ec4e authored by Bess严根旺's avatar Bess严根旺

Merge branch 'test' of http://gitlab.galaxy-immi.com/eifel/doc-service into test

# Conflicts:
#	controllers/apiController.go
#	service/conversionService.go
parents 5f5c87f2 69894114
/log/*
\ No newline at end of file
package osscli
import (
"bytes"
"doc-service/common/log"
"encoding/json"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
"time"
)
type IOssBucket interface {
UploadFile(fpath string) (string, error)
}
type ossBucket struct {
host string
}
func NewOssBucket(host string) IOssBucket {
return &ossBucket{
host: host,
}
}
func (b *ossBucket) UploadFile(filePath string) (string, error) {
// 检查文件是否存在
_, err := os.Stat(filePath)
if err != nil {
return "", err
}
os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
// 打开本地文件
file, err := os.Open(filePath)
if err != nil {
return "", err
}
defer file.Close()
// 创建HTTP POST请求
var reqBody bytes.Buffer
writer := multipart.NewWriter(&reqBody)
destFile, err := writer.CreateFormFile("file", file.Name())
if err != nil {
return "", err
}
if _, err = io.Copy(destFile, file); err != nil {
return "", err
}
_ = writer.Close()
request, err := http.NewRequest("POST", b.host+"/oss/upload/storage", &reqBody)
if err != nil {
return "", err
}
// 设置必要的请求头,特别是 Content-Type
request.Header.Set("Content-Type", writer.FormDataContentType())
// 设置 businessCode 请求头
request.Header.Set("businessCode", "4001001")
// 设置超时时间
client := &http.Client{
Timeout: 30 * time.Second,
}
// 发送HTTP POST请求
resp, err := client.Do(request)
if err != nil {
return "", err
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
log.Info("oss上传响应异常:%d", resp.StatusCode)
return "", fmt.Errorf("oss上传响应异常:%d", resp.StatusCode)
}
var response map[string]interface{}
if err := json.NewDecoder(resp.Body).Decode(&response); err != nil {
return "", err
}
if int(response["code"].(float64)) != 200 {
return "", fmt.Errorf("oss上传失败: code=%d, msg=%s", response["code"].(float64), response["msg"].(string))
}
return response["data"].(string), nil
}
...@@ -11,7 +11,8 @@ func ApiRoutersInit(r *gin.Engine) { ...@@ -11,7 +11,8 @@ func ApiRoutersInit(r *gin.Engine) {
apiRouters := r.Group("/api", middlewares.InitMiddleware) //middlewares.InitMiddleware apiRouters := r.Group("/api", middlewares.InitMiddleware) //middlewares.InitMiddleware
{ {
apiRouters.GET("/", controllers.ApiController{}.Index) apiRouters.GET("/", controllers.ApiController{}.Index)
apiRouters.POST("/", controllers.ApiController{}.Conversion) apiRouters.GET("/plist", controllers.ApiController{}.Plist)
apiRouters.POST("/doctopdf", controllers.ApiController{}.Conversion)
apiRouters.GET("/get-pro", controllers.ApiController{}.GetTaskProject) apiRouters.GET("/get-pro", controllers.ApiController{}.GetTaskProject)
apiRouters.GET("/index", controllers.ApiController{}.Index) apiRouters.GET("/index", controllers.ApiController{}.Index)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment