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

wordpress 自动摘要网站排名优化快速

wordpress 自动摘要,网站排名优化快速,网站推广技术,哪个做砍价活动的网站好在go语言的开发中,当我们在操作下载或者上传文件对象时, 我们可以利用golang内置的io包中的 TeeReader函数特性,高效实时计算文件的md5值。 方法如下: TeeReader高效计算文件md5示例 保存上传文件,并使用文件的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", fmd5+filepath.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.15wanjia.com/news/50923.html

相关文章:

  • wordpress 虚拟货币模块seo优化关键词分类
  • wordpress仿站教程+vip爱站网怎么使用
  • 我的世界做圆网站小程序推广的十种方式
  • 网站制作论文总结网络站点推广的方法有哪些
  • 做网站合同模板app注册推广
  • layui 企业网站模板网站管理和维护的主要工作有哪些
  • 基于php的网站开发毕业论文举一个病毒营销的例子
  • 通州网站建设是什么关键词调价工具哪个好
  • 怎么对网站做seo优化广告推广app
  • 四川德充建设集团有限公司网站每日新闻最新消息
  • 如何做国际网站首页百度升级最新版本下载安装
  • b站推广网站2024九幺产品推广方式
  • 域名注册后怎么做网站网络营销都有哪些方法
  • 内部优惠券网站怎么做怎么自己注册网站平台了
  • 个人网站对主机有什么要求百度网盘下载安装
  • 的网站建立在线资源链接
  • 阜阳做网站公司东莞营销推广公司
  • 万网注册域名做简单网站seo外链怎么做
  • wap门户网站最近几天的新闻
  • 八年级学生做的简易网站上海seo培训中心
  • ps可以在哪个网站上做兼职长沙网络公司营销推广
  • 乌鲁木齐做四维彩超哪凤凰L网站公司推广方案
  • 个人网站整站下载北京网站优化方式
  • 网站建设实训报告模版网络seo
  • 微信小程序定制开发需要多少钱信息流优化师需要具备哪些能力
  • 温岭网站建设制作谷歌账号注册入口官网
  • 网站数据抓取怎么做民宿平台搜索量上涨
  • 长春建站公司模板外贸建站
  • 做旅游视频网站今日重大国际新闻军事
  • 新手如何给自己的网站做优化短网址生成网站