Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doc-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eifel邓鹏飞
doc-service
Commits
69894114
Commit
69894114
authored
Aug 23, 2024
by
Euan游根明
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: oss
parent
8a52178e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
96 additions
and
1 deletion
+96
-1
apiController.go
controllers/apiController.go
+3
-1
bucket.go
library/osscli/bucket.go
+92
-0
apiRouters.go
routers/apiRouters.go
+1
-0
No files found.
controllers/apiController.go
View file @
69894114
...
...
@@ -5,6 +5,7 @@ import (
"github.com/gin-contrib/sessions"
"github.com/gin-gonic/gin"
"net/http"
"os"
)
type
ApiController
struct
{}
...
...
@@ -34,7 +35,8 @@ func (con ApiController) Userlist(c *gin.Context) {
c
.
String
(
200
,
"我是一个api接口-Userlist"
)
}
func
(
con
ApiController
)
Plist
(
c
*
gin
.
Context
)
{
c
.
String
(
200
,
"我是一个api接口-Plist"
)
re
:=
os
.
Getenv
(
"GOPROXY"
)
c
.
String
(
200
,
"env: "
+
re
)
}
// 文件转换
...
...
library/osscli/bucket.go
0 → 100644
View file @
69894114
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
}
routers/apiRouters.go
View file @
69894114
...
...
@@ -11,6 +11,7 @@ func ApiRoutersInit(r *gin.Engine) {
apiRouters
:=
r
.
Group
(
"/api"
,
middlewares
.
InitMiddleware
)
//middlewares.InitMiddleware
{
apiRouters
.
GET
(
"/"
,
controllers
.
ApiController
{}
.
Index
)
apiRouters
.
GET
(
"/plist"
,
controllers
.
ApiController
{}
.
Plist
)
apiRouters
.
POST
(
"/doctopdf"
,
controllers
.
ApiController
{}
.
Conversion
)
apiRouters
.
GET
(
"/get-pro"
,
controllers
.
ApiController
{}
.
GetTaskProject
)
apiRouters
.
GET
(
"/index"
,
controllers
.
ApiController
{}
.
Index
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment