gin-server上传文件
server(file_upload_download)#
简单的文件上传,查看和删除,包含数据库增查删改功能,且有日志功能
写了一个简单的前端页面
使用技术#
- Gin
- Gorm
- Mysql
- ...
项目结构目录#
│ config.yaml // 配置文件
│ go.mod // 包依赖配置
│ main.go // 程序入口
├─api
│ ├─ v1 // api 方法
│ │ file_upload_download_method.go //方法函数
│ └─ enter.go // 创建方法结构体
│
├─config // 配置文件结构体
│ config.go
│
├─core
│ viper.go // 配置文件读取
│ server.go // 启动HTTP server服务
│ zap.go //配置日志库
│
├─global //全局
│ global.go // 全局共享对象
│ model.go //全局GVA_MODEL共享对象
│
├─initialize //初始化
│ │ db_table.go // 注册数据库表
│ │ mysql.go // 初始化mysql连接池
│ │ router.go // 初始化总路由
│ └─ internal
│ gorm.go //Config gorm 自定义配置
│ logger.go // 日志格式配置
│
├─middleware //中间件
│ cors.go // 跨域处理配置
│
├─model //模型
│ │
│ ├─ common
│ │ ├─request
│ │ │ common.go // 公共请求参数
│ │ │ //(postman格式)
│ │ └─ response
│ │ common.go //GetList列表结构体模型
│ │ response.go // 公共json表达式
│ │
│ ├─ response
│ │ file_upload_download.go //json表达结果映射结构体模型
│ │
│ └─ file_upload_download_model.go //数据库映射结构体模型
│
├─router //路由
│ sys_user.go // 用户业务路由
│
├─service // 业务处理
│ file_upload_download_sqlmethod.go // 用户业务处理层
│ enter.go //创建业务处理结构体
│
└─utils //工具
md5.go // 工具类
upload // 各类oss读取文件工具
directory.go //目录是否存在和批量创建文件
rotatelogs.go //日志自动 保存,清理
postman使用#
所有前提都是在localhost:8888
UploadFile
[post]localhost:8888/fileUploadAndDownload/upload -> Body -> form-data ->KEY:file VALUE:"所传文件"
GetFileList
[post]localhost:8888/fileUploadAndDownload/getFileList -> Body -> {"page":页码,"pageSize":每页大小}
DeleteFile
[post]localhost:8888 /fileUploadAndDownload/deleteFile -> Body -> raw(JSON)->{"id":num(一定要是存在的)}
后面添加的xxxxForm都是在body form-data 直接输入KEY和VUALE即可
启动server#
配置文件config.yaml
配置环境
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go mod tidy
go mod download
启动server
go run main.go
演示#
参考#
其实参考了很多比如gin-vue-admin和ZERO这个博主的项目ZERO的gitee仓库(gorm用的package不同,但大体上相似)
又加了一个简陋的前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-05-13 hdu3586 and 5834(树形dp)
2020-05-13 Codeforces Round #641 (Div. 2)A~D