请教,关于 zip 压缩包追加文件的问题

designer 2月前 210

Hello,大家好。最近想往 zip 压缩包里追加文件,但是总是失败,请论坛内的朋友不吝赐教,先谢谢了。

桌面有一个 template.zip 的压缩文件,想把桌面上的 picture.png 添加进去,一共试了两种方法。

方法一,问题是会把整个路径都加到压缩包了,但是压缩包里 picture.png 的大小是 0,双击压缩包里这个文件会报错。

方法一:

import dotNet;

import System.IO.Compression.ZipFile;

var ZipFile = System.IO.Compression.ZipFile;

var ZipArchive = ZipFile.Open("C:\Users\Admin\Desktop\template.zip",2)

var new_entry = ZipArchive.CreateEntry("C:\Users\Admin\Desktop\picture.png")

ZipArchive.Dispose()

方法二的问题是,当追加的参数设置为 1 时,运行完,压缩包大小增大了,但是压缩包里没有这个文件。追加的参数设置 0,文件被加入到压缩包里了,但是其他文件都被删除了。

方法二:

import zlib.zip;

var zip = zlib.zip("C:\Users\Admin\Desktop\template.zip",,1/*append追加*/);

zip.compress( "C:\Users\Admin\Desktop\picture.png",

function(len,path){

..io.print( len,path )

}

)


最新回复 (2)
  • 光庆 2月前
    0 2

    1、打开aardio\lib\zlib\zip.aardio,将第15行改为如下:

    		var zipFile = zipOpen64(..string.fromto( ..io.fullpath(path) ) ,append);

    		var zipFile = zipOpen64(..string.fromto( ..io.fullpath(path) ) ,append?2:0);

    2、追加文件的方法:

    var zip = zlib.zip("C:\Users\Admin\Desktop\template.zip","C:\Users\Admin\Desktop\",2)
    zip.compress( "C:\Users\Admin\Desktop\picture.png")


  • designer 2月前
    0 3
    多谢多谢
返回
发新帖