首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux上使用.net核心创建的Zip文件缺少读取权限

Linux上使用.net核心创建的Zip文件缺少读取权限
EN

Stack Overflow用户
提问于 2019-12-12 23:18:19
回答 1查看 617关注 0票数 2

DotNetZip创建了权限为000 (无读、无写、无执行)的压缩文件,因此我不能在Linux上轻松地打开它们(Windows资源管理器并不关心这一点,通常会打开文件)。Windows上的相同代码生成具有读取权限的文件(在Linux上):

代码语言:javascript
复制
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上运行吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-10 05:39:19

.net核心现在公开ZipArchiveEntryExternalAttributes属性,该属性允许您设置权限,如下所示(664):

代码语言:javascript
复制
entry.ExternalAttributes = entry.ExternalAttributes | (Convert.ToInt32("664", 8) << 16);

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59307760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档