Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenhan wang
pastebin
Commits
b9aee102
Commit
b9aee102
authored
Dec 24, 2022
by
chenhan wang
Browse files
修改sendfile
parent
b772f6d4
Changes
5
Hide whitespace changes
Inline
Side-by-side
backend/app.rar
0 → 100644
View file @
b9aee102
File added
backend/app/controller/interface.go
View file @
b9aee102
...
@@ -72,9 +72,9 @@ func AskPasswd(c echo.Context) error {
...
@@ -72,9 +72,9 @@ func AskPasswd(c echo.Context) error {
// 设置cookie name sid, value link
// 设置cookie name sid, value link
func
SetCookie
(
c
echo
.
Context
,
info
*
pass
)
error
{
func
SetCookie
(
c
echo
.
Context
,
info
*
pass
)
error
{
cookie
:=
new
(
http
.
Cookie
)
cookie
:=
new
(
http
.
Cookie
)
cookie
.
Name
=
info
.
SessionId
// 标识为user
cookie
.
Name
=
"User"
// 标识为user
//cookie.Value = string(uuid) // 通过uuid和数据库,确定user是谁
//cookie.Value = string(uuid) // 通过uuid和数据库,确定user是谁
cookie
.
Value
=
info
.
FileLink
cookie
.
Value
=
info
.
SessionId
cookie
.
Path
=
"/"
cookie
.
Path
=
"/"
// cookie有效期为3600秒
// cookie有效期为3600秒
cookie
.
MaxAge
=
3600
cookie
.
MaxAge
=
3600
...
@@ -152,20 +152,24 @@ func RecvFile(c echo.Context) error {
...
@@ -152,20 +152,24 @@ func RecvFile(c echo.Context) error {
return
c
.
HTML
(
http
.
StatusOK
,
fmt
.
Sprintf
(
"<p>文件上传成功: %s</p>"
,
file
.
Filename
))
return
c
.
HTML
(
http
.
StatusOK
,
fmt
.
Sprintf
(
"<p>文件上传成功: %s</p>"
,
file
.
Filename
))
}
}
// 根据用户请求的文件名(不带后缀)和文件类型,返回对应文件的链接
/*
输入:前端提供的文件链接,
返回:一个可供URL访问的链接(string)
*/
func
SendFile
(
c
echo
.
Context
)
error
{
func
SendFile
(
c
echo
.
Context
)
error
{
info
:=
new
(
File
)
info
:=
new
(
File
)
if
err
:=
c
.
Bind
(
info
);
err
!=
nil
{
if
err
:=
c
.
Bind
(
info
);
err
!=
nil
{
return
err
return
err
}
}
// 判断需不需要密码
// 判断需不需要密码
if
info
.
FileType
==
""
{
if
info
.
FileType
==
""
{
info
.
FileType
=
"txt"
info
.
FileType
=
"txt"
}
}
if
model
.
find
(
info
.
FileLink
,
info
.
SessionId
)
==
false
{
if
!
model
.
Find
(
info
.
FileLink
,
info
.
SessionId
)
{
cookie
,
err
:=
c
.
Cookie
(
info
.
SessionId
)
// 没有sessionId(第一次访问)
cookie
,
err
:=
c
.
Cookie
(
"User"
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
@@ -175,14 +179,21 @@ func SendFile(c echo.Context) error {
...
@@ -175,14 +179,21 @@ func SendFile(c echo.Context) error {
}
}
filePath
:=
"./files/"
+
info
.
FileType
+
"/"
+
info
.
FileName
+
"."
+
info
.
FileType
filePath
:=
"./files/"
+
info
.
FileType
+
"/"
+
info
.
FileName
+
"."
+
info
.
FileType
data
:=
readFile
(
filePath
)
c
.
JSON
(
http
.
StatusOK
,
info
)
return
response
.
SendResponse
(
c
,
http
.
StatusOK
,
"msg"
,
info
.
FileType
,
data
)
//return c.HTML(http.StatusOK, fmt.Sprintf("<p>文件上传成功: %s</p>", file.Filename))
//return nil
}
func
readFile
(
filePath
string
)
string
{
src
,
err
:=
os
.
Open
(
filePath
)
src
,
err
:=
os
.
Open
(
filePath
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Println
(
err
)
fmt
.
Println
(
err
)
return
err
}
}
fi
,
err
:=
src
.
Stat
()
fi
,
err
:=
src
.
Stat
()
if
err
!=
nil
{
if
err
!=
nil
{
return
err
fmt
.
Println
(
err
)
}
}
defer
func
()
{
defer
func
()
{
...
@@ -190,16 +201,18 @@ func SendFile(c echo.Context) error {
...
@@ -190,16 +201,18 @@ func SendFile(c echo.Context) error {
}()
}()
data
:=
make
([]
byte
,
fi
.
Size
())
data
:=
make
([]
byte
,
fi
.
Size
())
count
,
err
:=
src
.
Read
(
data
)
_
,
err
=
src
.
Read
(
data
)
//return response.SendResponse(c, http.StatusOK, "", "pong!")
if
err
!=
nil
{
count
=
count
fmt
.
Println
(
err
)
}
// 信息隐去
// 信息隐去
c
.
JSON
(
http
.
StatusOK
,
info
)
//c.JSON(http.StatusOK, info)
return
response
.
SendResponse
(
c
,
http
.
StatusOK
,
"msg"
,
string
(
data
))
//return c.HTML(http.StatusOK, fmt.Sprintf("<p>文件上传成功: %s</p>", file.Filename))w
return
string
(
data
)
//return nil
}
}
func
RecvText
(
c
echo
.
Context
)
error
{
func
RecvText
(
c
echo
.
Context
)
error
{
text
:=
new
(
Text
)
text
:=
new
(
Text
)
if
err
:=
c
.
Bind
(
text
);
err
!=
nil
{
if
err
:=
c
.
Bind
(
text
);
err
!=
nil
{
...
...
backend/app/middleware/login.go
View file @
b9aee102
...
@@ -26,7 +26,7 @@ type logInfo struct {
...
@@ -26,7 +26,7 @@ type logInfo struct {
/*
/*
向文件或 stdout 输出详细的日志,记录用户的 User-Agent、IP 地址、访问时间、访问路径等信息
向文件或 stdout 输出详细的日志,记录用户的 User-Agent、IP 地址、访问时间、访问路径等信息
User-Agent,访问路径,暂且无法实现
User-Agent,访问路径,暂且无法实现
*/
*/
func
mylogger
(
c
echo
.
Context
)
{
func
mylogger
(
c
echo
.
Context
)
{
//c.GET("User-Agent")
//c.GET("User-Agent")
...
...
backend/app/response/reponse.go
View file @
b9aee102
...
@@ -9,6 +9,7 @@ import (
...
@@ -9,6 +9,7 @@ import (
type
Response
struct
{
type
Response
struct
{
Code
int
`json:"code"`
Code
int
`json:"code"`
Msg
string
`json:"msg"`
Msg
string
`json:"msg"`
Type
string
`json:"type"`
Data
interface
{}
`json:"data"`
Data
interface
{}
`json:"data"`
}
}
...
...
pastebin
@
ded77073
Subproject commit ded770739475219412b72eb9b8eb377405fb5803
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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