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

边坝网站制作搜索引擎下载

边坝网站制作,搜索引擎下载,zencart 网站,易旅游网站建设运行视频 // todo 根据前端传递文件加密 func (s *FileProcess) FileProcessEncryptionByFront(file multipart.File, h *multipart.FileHeader) interface{} { //根据字节直接处理文件 这个是前端传递的二进制流s.FileProcessInit() //文件初始化 设置原来文件…

运行视频

// todo 根据前端传递文件加密
func (s *FileProcess) FileProcessEncryptionByFront(file multipart.File, h *multipart.FileHeader) interface{} { //根据字节直接处理文件  这个是前端传递的二进制流s.FileProcessInit()               //文件初始化 设置原来文件的缓冲区和加密缓冲区的字节大小s.SourceFile.SetSize(int(h.Size)) //设置原文件的总字节s.SourceFile.SetName(h.Filename)  //设置原文件的名称s.EncryptFile.SetName(h.Filename) //设置加密文件后的名称filePath := s.EncryptFile.Namesave, _ := os.OpenFile(s.EncryptFile.Name, os.O_CREATE|os.O_RDWR, os.ModePerm) //打开加密文件fileBool, err := isExists(filePath)if fileBool && err == nil {fmt.Println("文件已经存在")} else {newfile, err := os.Create(filePath) //创建当前文件defer newfile.Close()if err != nil {fmt.Println("创建文件失败")}}s.SetNumberDncrypted(s.SourceFile) //设置原文件的携程数量 因为是根据原文件加密TODO block := head.Size / 5 //把数据分成五片  一般不建议这种方式  因为文件太大的话分的单位也会太大  使用这种方式 可以把一片大小理解成一个缓冲区var wg sync.WaitGroupfor i := 0; i < s.NumberCoroutine; i++ {wg.Add(1) //确保所有的文件合并}for i := 0; i < s.NumberCoroutine; i++ {//	if i != 3 && i != 6 { //模拟网络中断导致某个数据库块没有上传go func(i int) {defer wg.Done()buf := make([]byte, s.SourceFile.BockByteNum) // 定义一个缓冲区,用于读取文件块数据offset := i * s.SourceFile.BockByteNumsave_offset := i * s.EncryptFile.BockByteNum       //todo 这部要注意 当前加密保存后文件的一个偏移量bufSave := make([]byte, s.EncryptFile.BockByteNum) //加密保存文件的缓冲区不一样_, err := save.ReadAt(bufSave, int64(save_offset)) //判断当前的文件偏移量是否有数据if !(err != nil && err != io.EOF) {                //如果没有数据n1, err1 := file.ReadAt(buf, int64(offset)) //读取原来上传文件的完整数据if err1 != nil && err1 != io.EOF {panic(err1.Error())}byte1, _ := tool.Encrypt(buf[:n1])               //字节加密_, err = save.WriteAt(byte1, int64(save_offset)) // 从偏移量处写入文件块数据////if i == 0 {//	for i := 0; i < 10; i++ {//		fmt.Println("上传前100个原文", buf[i])//	}//}//if i == numThread-1 {//	//fmt.Println("最终转换字节数量为", len(getByte), "")//	for i := len(buf[:n1]) - 10; i < len(buf[:n1]); i++ {//		fmt.Println("上传原文最后十个字节数量为", buf[i])//	}}}(i)}wg.Wait()//设置加密文件的缓冲区return nil
}
http://www.mmbaike.com/news/63198.html

相关文章:

  • 建筑招工网站百度查重
  • 整站网站优化运营东莞优化排名推广
  • 做网站交互电商关键词查询工具
  • 网站建设qianhaiyou微信营销推广软件
  • 我县政府网站建设发展状况搜索引擎优化关键字
  • 做网站设计的公司手机网页设计
  • 营销型网站建设_做网站app推广的常用方法
  • 免费做二维码网站上海seo怎么优化
  • 佛山建设网站公司重庆快速网络推广
  • 免费手机网站源码广州疫情最新消息今天封城了
  • 网站开发流程aspseo搜索引擎优化案例
  • 请网站制作公司费用seo入门
  • 高职院校优质校建设专栏网站收录优美图片找不到了
  • 哪个网站做任务赚钱多seo发贴软件
  • 一般网站建设电话百度官网网页版
  • 织梦网站打不开站牛网是做什么的
  • css网页设计模板重庆seo全面优化
  • 专做蔬菜大棚的网站惊艳的网站设计
  • 免费精品发布页怎么设计长沙网站托管优化
  • 建设工程业绩查询网站品牌策略包括哪些内容
  • 做思维导图的网站怎样做推广是免费的
  • wordpress配置全站https企业网站制作
  • 网店装修是什么意思福州短视频seo网红
  • 商城网站建设资讯百度账号登录官网
  • 网站做端口是什么问题宁波最好的推广平台
  • 仿站软件西安计算机培训机构哪个最好
  • 怎么做qq钓鱼网站吗seo优化总结
  • 微信商城网站方案seo网站推广的主要目的包括
  • 做二维码电子档相册 找什么网站爱站网使用体验
  • 学3dmax做效果图的网站专业网站优化排名