gpt4 book ai didi

c# - 在 Linux 上使用 .net core 创建的 Zip 文件缺少读取权限

转载 作者:行者123 更新时间:2023-12-03 10:01:32 27 4
gpt4 key购买 nike

DotNetZip 使用权限 000(不可读、不可写、不可执行)创建 zip 文件,因此我无法在 Linux 上轻松打开它们(Windows 资源管理器不关心它并正常打开文件)。 Windows 上的相同代码生成具有读取权限的文件(在 Linux 上):

using (var fs = new System.IO.FileStream("./test.zip"))
{
using (var archive = new System.IO.Compression.ZipArchive(fs, ZipArchiveMode.Create))
{
var entry = archive.CreateEntry("test.txt");
using (var writer = new System.IO.StreamWriter(entry.Open()))
{
writer.Write("Hello World");
}
}
}

我能否设置权限或模拟 System.IO.Compression 在 Windows 上运行?

最佳答案

.net core 现在公开了 ZipArchiveEntryExternalAttributes 属性,允许您设置权限,像这样 (664):

entry.ExternalAttributes = entry.ExternalAttributes | (Convert.ToInt32("664", 8) << 16);

请注意,该字符串是权限位掩码的八进制表示,因此转换为基数 8。

关于c# - 在 Linux 上使用 .net core 创建的 Zip 文件缺少读取权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59307760/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com