众所周知,文件上传服务有很多,例如,常见的有 ftp、lrzsz、wincp之类的。作为it从业人员,闲暇之余,写一些简单的小工具之类的也是常事。以下就是我利用form表单实现上传文件服务。偶尔在一些特殊环境可以使用的,比如某些特定场所不让使用开放工具之类的,就可以拿来用用。
话不多说,直接上代码(不会写代码的朋友可以直接关注私信我即可)
html核心部分:
<form action="/upload" method="post" enctype="multipart/form-data">
请选择上传文件:<input type="file" name="file" id=""><br>
<input type="submit" value="上传">
</form>
go语音编写一个可以上传文件的http服务
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"log"
)
func PostUpload(c *gin.Context) {
// 单文件
file, _ := c.FormFile("file")
log.Println(file.Filename)
// 上传文件到项目根目录,使用原文件名
c.SaveUploadedFile(file, file.Filename)
c.String(200, fmt.Sprintf("'%s' 上传成功!", file.Filename))
}
func GetUpload(c *gin.Context) {
c.HTML(200, "upload.html", nil)
}
func main() {
router := gin.Default()
// 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)
router.MaxMultipartMemory = 8 << 20 // 8 MiB
router.LoadHTMLGlob("src/static/*html")
router.GET("/upload", GetUpload)
router.POST("/upload", PostUpload)
router.Run(":8888")
}
至此,拷贝代码直接运行就好啦。直接运行 之后,访问http://localhost:8888/upload
进行测试
操作就更简单啦,按图示数字顺序操作即可。
上传之后,在程序运行目录即可找到上传文件。
大家觉得简单不,上面代码在设置好golang环境之后,直接拷贝运行即可。也可以关注+私聊我,拿可执行文件。
大家有什么好的需求想法也可以跟我说,我可以免费给大家写一些小工具~,能电脑做的就解放双手啦~
本文暂时没有评论,来添加一个吧(●'◡'●)