Gin是用Go编写的web框架。性能还不错,而且使用比较简单,还支持RESTful API。
日常的使用中我们可能要处理一些文件的上传与下载,我这里简单总结一下。
单文件上传
我们使用multipart/form-data
格式上传文件,利用c.Request.FormFile
解析文件。
1 | // HandleUploadFile 上传单个文件 |
我们上传文件可以看到。
我们已经看到文件上传成功,已经文件名字与内容。
多文件上传
多文件的上传利用c.Request.MultipartForm
解析。
1 | // HandleUploadMutiFile 上传多个文件 |
多个文件,遍历文件内容即可读取。
利用c.Request.ParseMultipartForm()
可设置上传文件的大小,这里限制了4MB。
我们看到
两个文件已经上传成功。
文件下载
文件的下载主要是注意设置文件名,文件类型等。
1 | // HandleDownloadFile 下载文件 |
通过
Content-Disposition
设置文件名字;Content-Type
设置文件类型,可以到这里查阅;Accept-Length
这个设置文件长度;c.Writer.Write
写出文件。
成功下载可以看到:
- 完整demo在这里