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

长沙建立企业网站wordpress完全版教材

长沙建立企业网站,wordpress完全版教材,宁夏建设教育协会网站,网站建设公司如何运营在go语言的开发中#xff0c;当我们在操作下载或者上传文件对象时#xff0c; 我们可以利用golang内置的io包中的 TeeReader函数特性#xff0c;高效实时计算文件的md5值。 方法如下#xff1a; TeeReader高效计算文件md5示例 保存上传文件#xff0c;并使用文件的md5签…在go语言的开发中当我们在操作下载或者上传文件对象时 我们可以利用golang内置的io包中的 TeeReader函数特性高效实时计算文件的md5值。 方法如下 TeeReader高效计算文件md5示例 保存上传文件并使用文件的md5签名.扩展名 作为保存文件名再读取上传文件的同时计算文件md5签名 // 上传文件 使用文件md5签名.ext 作为文件名 func UploadFile(file *multipart.FileHeader) (string, error) {f, err : file.Open() // 读取文件if err ! nil {return , fmt.Errorf(error reading multipart file: %v, err)}defer f.Close() // 创建文件 defer 关闭// 计算文件md5 这里使用 TreeReader的特性在拷贝文件的同时 高效计算文件md5md5 : md5.New()treeReader : io.TeeReader(f, md5)fmd5 : hex.EncodeToString(md5.Sum(nil)) // 获取上传文件的md5签名字符串// 拼接目标文件 使用文件md5签名.ext 作为文件名dstFile : filepath.Join(upload, fmd5filepath.Ext(file.Filename) )// 创建目标文件对象dst, err : os.Create(dstFile)if err ! nil {return , fmt.Errorf(error creating dst file: %v, err)}defer dst.Close() // 创建文件 defer 关闭// 从treeReader将文件拷贝到目标文件 dstif _, err io.Copy(dst, treeReader); err ! nil {return , fmt.Errorf(error Copy file to destination: %v, err)}return dstFile, nil }TeeReader函数定义参考 // TeeReader returns a [Reader] that writes to w what it reads from r. // All reads from r performed through it are matched with // corresponding writes to w. There is no internal buffering - // the write must complete before the read completes. // Any error encountered while writing is reported as a read error. func TeeReader(r Reader, w Writer) Reader {return teeReader{r, w} }type teeReader struct {r Readerw Writer }func (t *teeReader) Read(p []byte) (n int, err error) {n, err t.r.Read(p)if n 0 {if n, err : t.w.Write(p[:n]); err ! nil {return n, err}}return }总结golang的io包中的这个TeeReader函数给我们提供了非常高效的文件操作的同时进行其他任务的接口利用这个特性我们可以在保存文件的同时高效的计算文件的MD5,  也可以利用它来实时的显示文件操作进度条等。 更多使用方法参见  go语言内置io包中TreeReader函数的理解和使用示例_golang io.teereader-CSDN博客
http://www.hkea.cn/news/14321022/

相关文章:

  • 做网站前必须设计原型吗网络推广培训有哪些
  • 文章网站后台discuz主题模板
  • 上海知名网站建设下载软件的网站哪个好
  • 建设银行光明支行网站智慧团建登录入口官网电脑版
  • 海安建设局网站海口网上房地产
  • 光纤做网站 移动不能访问电信福州便民网免费发布信息
  • 工厂生产管理app南昌seo快速排名
  • django做视频网站马鞍山网站建设公司排名
  • 泰安电脑网站建设电话做爰全过程免费的网站视频
  • 枣庄定制网站建设制作网络营销方式变化背后的逻辑与趋势
  • 盘锦网站建设公司百度升级最新版本
  • 视频网站建设价位写手机版网站的静态页面
  • 网站制作技术使用说明wordpress网站白屏
  • 网站建设_广州网站建设专业公司管理咨询公司简介
  • 无锡网站网页设计培训wordpress主题 红木
  • 哪里可以制作网站深圳软件与信息服务
  • 做电影网站解决版权问题西峡县住房和城乡建设局网站
  • win7做网站服务器wordpress memcached redux
  • 在线代理网页浏览seo关键词平台
  • 典型网站建设实例精讲加强企业网站建设作用
  • 哈尔滨网站建设网站开发科技企业网站如何建设
  • 西北网站建设怎么样做网站优化
  • 大学网站的设计方案wordpress font awesome cdn
  • 创业项目的网站江西南昌网站建设服务
  • 全国网站备案查询php网站开发实施方案
  • 贵阳做网站优化做网站后端语言用什么
  • 成都网站系统开发高端品牌男鞋
  • 做爰直播网站最好的网站建设团队
  • 网站开发报价pptphp网站端口
  • 凡科网网站怎么设置会员登录板块yahoo引擎入口