当前位置: 首页 > news >正文

go: 图片文件上传

一,代码

go

//上传页面
func (ic *MediaController) Upload(c *gin.Context) {c.HTML(200, "upload.html", nil)
}//接收上传,多张图片
func (ic *MediaController) Uploaded(c *gin.Context) {//得到formform,err:=c.MultipartForm()//得到文件列表files:=form.File["f1m"]//错误处理if err != nil {global.NewResult(c).ErrorCode(500,"图片上传失败",nil)return}idStr:=global.FormattedNow("20060102150405");dateStr:=global.FormattedNow("20060102");preDir := "./static/ware/"+dateStr//如果目录不存在,则创建它if global.IsDirExists(preDir) == false {// 创建多级目录err := os.MkdirAll(preDir, 0755)if err != nil {fmt.Println(err)}}//处理文件var images []stringfor i,f:=range files{istr := strconv.Itoa(i)destImage := preDir+"/"+idStr+"_"+istr+".jpg"c.SaveUploadedFile(f,destImage)//return image urlimageUrl := "/static/ware/"+dateStr+"/"+idStr+"_"+istr+".jpg"images = append(images, imageUrl)}global.NewResult(c).Success(images)}

html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
多文件上传(可多选):<br/>
<form action="/media/uploaded" method="post" enctype="multipart/form-data"><input type="text" name="id" id="id" placeholder="请输入id" /> <br/><input type="file" name="f1m" multiple /><br/><input type="submit" value="上传">
</form>
</body>
</html>

二,运行结果:

image

http://www.jsqmd.com/news/353/

相关文章:

  • go: 生成缩略图
  • git: 报错: fatal: 协议错误:错误的行长度字符串:This 或 fatal: protocol error: bad line length character: This
  • jquery: Justified gallery
  • 安装crmeb
  • gin: 打包模板文件、静态文件到二进制文件中
  • gin: 判断是否ajax请求
  • gin: 静态文件
  • 详细介绍:【论文精读】基于YOLOv3算法的高速公路火灾检测
  • 产品设计
  • An Empirical Study on Commit Message Generation using LLMs via In-Context Learning 论文笔记
  • 实用指南:人工智能学习:Transformer结构中的编码器层(Encoder Layer)
  • vcpkg 安装依赖
  • Java03课前问题列表
  • JavaScript错误处理完全指南:从基础到自定义错误实战
  • 1、论文准备
  • Jetpack Navigation - 在 Fragment 中跳转到 Activity(4 种方式) - 详解
  • PION 游击
  • 神经网络构成框架-理论学习 - 指南
  • Web3 开发者修炼全图谱:从 Web2 走向 Web3 的实用的系统性学习指南
  • 强化学习之父 Richard Sutton: 如今AI正进入“经验时代” - 指南
  • Java 注解 - 实践
  • 安规对变压器的绝缘系统要求
  • 嵌入式笔记系列——UART:TTL-UART、RS-232、RS-422、RS-485 - 指南
  • 实用指南:医院高值耗材智能化管理路径分析(下)
  • Flutter应用自动更新系统:生产环境的挑战与解决方案
  • .NET Core中使用SignalR
  • Django + Vue3 前后端分离工艺实现自动化测试平台从零到有系列 <第一章> 之 注册登录完成
  • 实用指南:【保姆级教程】TEXTurePaper运行环境搭建与Stable Diffusion模型本地化
  • 实用指南:修复Conda连接异常:CondaHTTPError HTTP 000 CONNECTION FAILED故障排除指南
  • 高级数据结构手册