`
alissa
  • 浏览: 9725 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
社区版块
存档分类
最新评论

zip文件压缩

阅读更多
项目中有需求要把统计的csv文件压缩成zip,并且加密之后发送到指定的邮箱中。
调查发现ruby对于zip的第三方lib没有免费支持这种加密操作的,
一次偶然的机会在php的论坛中发现了灵感,可以直接调用zip命令,呵呵
http://forums.devshed.com/php-development-5/how-to-create-password-protected-zip-files-using-php-550248.html
echo system('zip -P pass file.zip file.txt');
ruby中也可以这么做
示例如下:
    zip_filepath = File.join(folder, zip_filename)
    csv_filepath = File.join(folder, csv_filename)
    log_info "generating csv ..."
    export_csv(day)
    log_info "zip csv ..."
    encrypted_success = system("zip -P 1231456 #{zip_filepath} #{csv_filepath}");
    unless encrypted_success
      zip_csv(zip_filepath, csv_filepath)
    end
    log_info "delivering mail ..."
    UserNotify.deliver_csv_zip(day, mail_to, zip_filepath)
    log_info "Mail with zipfile have deliveried to #{mail_to}"

其次,在不支持zip加密的地方,用ruby的zip库直接生产zip文件
def self.zip_csv(path, filename, day = Date.today)
   Zip::ZipFile.open(path, Zip::ZipFile::CREATE) {
      |zipfile|
      zipfile.add("rate.csv", filename)
    }
end
分享到:
评论
1 楼 codsoul 2013-06-13  
window的zip不支持 -P

相关推荐

    C#.net ZIP文件压缩源代码

    本文将深入探讨标题为"C#.net ZIP文件压缩源代码"的主题,详细讲解如何在Visual Studio环境下使用C#进行ZIP文件的压缩操作。 首先,我们要了解.NET Framework中的System.IO.Compression命名空间,它包含了ZipFile类...

    C++ Zlib库实现zip文件压缩解压(支持递归压缩)

    实现zip文件的压缩,我们通常会遍历要压缩的目录,递归地将每个文件添加到`zip`档案中。这需要使用`minizip`的`zipOpen`、`zipOpenNewFileInZip`、`zipWriteInFileInZip`和`zipCloseFileInZip`等函数。同时,对于每...

    zip文件压缩解压源码 (c++)

    总结来说,`zip文件压缩解压源码(C++)`涉及的关键技术包括:理解zip文件格式,使用C++进行文件操作,选择和应用压缩算法,以及错误处理。通过分析和理解`XUnzip.cpp`和`XZip.cpp`,我们可以学习如何在C++环境中...

    java zip文件压缩与解压缩

    Java中的zip文件压缩和解压缩是程序开发中常见的任务,特别是在处理大量数据或者打包资源文件时。Apache Commons Compress库是Java中一个强大的工具,它提供了对多种压缩格式的支持,包括zip,而且能够处理中文...

    Zip文件压缩和解压

    Zip文件压缩和解压是日常计算机操作中常见的一种文件处理方式。Zip格式是一种高效的数据存储格式,它能够将多个文件和文件夹打包成一个单一的压缩文件,从而节省磁盘空间,便于传输和备份。本篇文章将深入探讨Zip...

    Wince下rar/zip文件压缩解压源码

    标题中提到的"WinCE下rar/zip文件压缩解压源码"是指在Windows CE平台上开发的源代码,用于处理这两种压缩格式。这通常涉及到对RAR和ZIP文件格式的解析、数据压缩和解压缩算法的实现。在Windows CE系统中,由于资源...

    zip文件压缩解压库文件(整理过的)

    "zip文件压缩解压库文件(整理过的)"是一个专门为处理zip文件而设计的程序库,基于zlib-1.2.5版本的源代码进行优化和整理,适用于Visual Studio(VS)环境。 **zlib** 是一个开源的压缩库,由Jean-loup Gailly和...

    FTP,SFTP文件上传,下载到服务器,ZIP文件压缩,加密,解密,然后再上传到服务器,各种封装操作;

    这里我们详细探讨一下"FTP,SFTP文件上传,下载到服务器,ZIP文件压缩,加密,解密,然后再上传到服务器"这一主题。 首先,FTP(File Transfer Protocol)是一种标准网络协议,用于在Internet上进行文件传输。它允许...

    zip文件压缩和解压

    zip文件压缩和解压工具类: 1.compressDirectory该方法提供将一个目录压缩为一个压缩包 2.unzip该方法提供解压缩文件

    zip文件压缩解压操作工具类

    zip文件压缩解压操作工具类. 1.递归压缩 2.压缩一个目录 3.压缩一个文件 4.解压文件

    ZLib + minizip实现ZIP文件压缩解压缩

    在IT行业中,压缩和解压缩文件是常见的任务,特别是在数据传输、存储优化和软件分发等领域。ZLib和minizip是两个广泛使用的开源...通过理解和掌握这些库的工作原理及API,能够帮助你创建高效、可靠的文件压缩解决方案。

    VB.NET使用ZipPackage实现ZIP文件压缩解压缩示例

    在.NET框架中,VB.NET提供了一种方便的方式来处理ZIP文件的压缩和解压缩,这主要得益于System.IO.Packaging命名空间中的ZipPackage类。本文将深入探讨如何利用VB.NET和ZipPackage来完成这一任务,同时也会提及一些...

    pj zip文件压缩自动化.zip

    pj zip文件压缩自动化.zip

    ZIP文件压缩及DLL文件

    ZIP文件是一种广泛使用的数据压缩格式,它允许用户将多个文件和目录打包成一个单一的文件,便于存储、传输和分发。在编程中,我们经常需要处理ZIP文件的压缩和解压缩操作。在这个场景中,描述提到的是一个包含类和...

    zip文件压缩与解压缩

    在IT领域,文件压缩是一种常见的数据处理技术,用于减少文件的存储空间,提高传输效率。在众多的压缩格式中,ZIP是一种广泛使用的标准,尤其在编程中,掌握ZIP文件的压缩与解压缩技术是十分重要的。本文将深入探讨...

    zip 压缩 文件 Java

    ZIP文件压缩** 要将文件或目录压缩成ZIP文件,你需要创建一个ZipOutputStream,然后将文件逐一写入。以下是一个简单的示例: ```java import java.io.*; import java.util.zip.*; public class ZipFileExample {...

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    要压缩文件或目录到ZIP文件,你需要创建一个`ZipOutputStream`实例,并将其包装在`FileOutputStream`上,指向你想要创建的ZIP文件。然后,你可以使用`ZipEntry`类来表示每一个要添加到ZIP文件的条目,通过调用`...

    java zip文件压缩 可以对目录进行压缩

    使用java的zip压缩库 对文件和文件夹实现压缩

    ZIP文件压缩,解压源代码

    ZIP文件是一种广泛使用的文件压缩格式,它允许用户将多个文件和目录组合成一个单一的压缩文件,便于存储、传输和分享。在C++编程环境中,处理ZIP文件涉及到几个关键的知识点,包括文件读写操作、数据压缩算法以及...

Global site tag (gtag.js) - Google Analytics