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

网站二级目录做优化杭州10大软件开发公司

网站二级目录做优化,杭州10大软件开发公司,wordpress文章列表显示,谷歌提交网站入口本文提供了一种对文件夹进行zip压缩并加密的方法。 添加依赖 cargo add anyhow cargo add walkdir cargo add zip cargo add zip-extensions计算文件夹的大小 目的是对需要压缩的文件夹的大小做一个限制。当然如果资源足够的话,可以去掉此限制。 let mut total_s…

本文提供了一种对文件夹进行zip压缩并加密的方法。

添加依赖

cargo add anyhow
cargo add walkdir
cargo add zip
cargo add zip-extensions

计算文件夹的大小

目的是对需要压缩的文件夹的大小做一个限制。当然如果资源足够的话,可以去掉此限制。

    let mut total_size: u64 = 0;// 计算文件夹的大小for metadata in WalkDir::new(source_dir).min_depth(1).max_depth(max_depth).into_iter()// 忽略正在运行的进程或无权访问的目录.filter_map(|entry| entry.ok()).filter_map(|entry| entry.metadata().ok())// 只计算文件.filter(|metadata| metadata.is_file()){total_size += metadata.len();}

压缩并加密文件夹

use anyhow::Result;
use std::io::Write;
use std::{fs, path::Path};
use walkdir::WalkDir;
use zip::unstable::write::FileOptionsExt;
use zip::{write::FileOptions, CompressionMethod, ZipWriter};
use zip_extensions::zip_create_from_directory_with_options;/// 使用zip格式压缩文件夹,并返回原文件夹的大小
pub fn zip_directory(key: Vec<u8>,source_dir: &Path,archive_file: &Path,max_depth: usize,
) -> Result<u64> {let mut total_size: u64 = 0;// 计算文件夹的大小for metadata in WalkDir::new(source_dir).min_depth(1).max_depth(max_depth).into_iter()// 忽略正在运行的进程或无权访问的目录.filter_map(|entry| entry.ok()).filter_map(|entry| entry.metadata().ok())// 只计算文件.filter(|metadata| metadata.is_file()){total_size += metadata.len();// todo 可以在此对文件夹大小上限进行判断,如果超出上限,则// return Ok(total_size);}// 压缩加密文件夹let options = FileOptions::default().compression_method(CompressionMethod::DEFLATE).with_deprecated_encryption(&key);zip_create_from_directory_with_options(&archive_file.to_path_buf(),&source_dir.to_path_buf(),options,).unwrap();Ok(total_size)
}

单元测试

use std::env;#[test]
fn test_zip_directory() {let src_file_path = env::current_dir().unwrap().join("tests");let dst_file_path = env::current_dir().unwrap().join("tests.zip");let key = get_random_key16();let _ = zip_directory(key.to_vec(), &src_file_path, &dst_file_path, 10);
}
http://www.hrbkazy.com/news/1530.html

相关文章:

  • 江门做网站公司今日最新消息新闻报道
  • 龙城网站建设嘉兴seo计费管理
  • 天津网站建设索王道下拉seo排名优化是什么
  • 深圳电商网站建设杭州网站搜索排名
  • 网站建设茂名网站广告投放收费标准
  • 做垃圾桶网站的相关优化词语推广平台下载
  • 扁平化网站首页北京seo优化方案
  • 企业网站为什么打不开软文推广怎么做
  • phyton 网站开发外贸出口平台网站
  • 沈阳网站制作思路怎样打开网站
  • 管理系统的设计与实现seo手机优化软件哪个好用
  • 杭州知名的企业网站建设拼多多seo 优化软件
  • iis网站后台登不进南宁网
  • 佛山做网站公司东莞网站制作
  • hulu网站在中国做内容吗seo怎么推广
  • 在深圳学网站设计昆明seocn整站优化
  • 做蛋糕的英文网站seowhy培训
  • 东莞长安网站建设搜狗seo怎么做
  • 做网站策划需要什么技能搜索引擎seo优化怎么做
  • 网站建设价位高有低公司的公关
  • 哪个网站虚拟主机好黑帽seo工具
  • 固原住房和城乡建设厅网站重庆seo网站推广费用
  • 北京做网站定制价格乐天seo培训中心
  • mysql 注册网站网站推广的技巧
  • web网站开发需要的软件有哪些seo专业培训
  • 洛阳做网站公司在哪微信seo排名优化软件
  • 网站建设管理分工的说明如何免费推广网站
  • 福州服务类网站建设百度关键词搜索优化
  • 代做备案网站自助建站官网
  • 北京php网站开发seo根据什么具体优化