拒绝访问 .tmp 路径

2023-12-22

我正在尝试使用 DotNetZip 库压缩文件。我正在从文件中读取路径并将 zip 保存到该文件。但程序崩溃并抛出。这是我的代码:

using (ZipFile zip = new ZipFile())
{
   zip.AddDirectory(dir + "\\OUTPUT_FOLDERS");

   StreamReader sr = new StreamReader(dir + "\\Tools\\SettingsForPath");
   string path = sr.ReadToEnd();
   sr.Close();

   zip.Save(path + "\\SavedZip.zip");
   Directory.Delete(dir + "\\OUTPUT_FOLDERS", true);
}

这是我的错误:

System.UnauthorizedAccessException: Access to the path 'C:\Users\DotNetZip-nvan5kb5.tmp' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at Ionic.Zip.SharedUtilities.CreateAndOpenUniqueTempFile(String dir, Stream& fs, String& filename)
at Ionic.Zip.ZipFile.get_WriteStream()
at Ionic.Zip.ZipFile.Save()
at Ionic.Zip.ZipFile.Save(String fileName)

您正在尝试写信给C:\Users目录,而您无权执行此操作。

Use Path.GetTempPath()获取可以写入的目录的名称。

See http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx了解更多信息。

您可以按如下方式使用它:

using (ZipFile zip = new ZipFile())
{
    zip.TempFileFolder = System.IO.Path.GetTempPath();

    // etc.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拒绝访问 .tmp 路径 的相关文章

  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 如何让 Visual Studio Team Foundation Server 查看我将代码移至其他文件夹?

    我将一些代码从 C 驱动器移至 D 驱动器 当我打开解决方案时 它告诉我 该解决方案似乎处于源代码控制之下 但其绑定 找不到信息 因为无法恢复 自动丢失信息 其绑定的项目 丢失将被视为不受源代码控制 所以我尝试永久删除绑定并下载最新版本 现
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Visual Studio 2010 中的数据库设计器

    我需要创建一个全新的 Sql Server 2008 数据库 并希望使用 Visual Studio 2010 Ultimate 中的数据库项目 我已经创建了该项目并在下面添加了一个表格dbo架构 桌子 sql仅以纯文本形式显示 但带有颜色
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 如何避免 C++ 中的连续释放/分配?

    考虑以下代码 class A B b an A object owns a B object A b NULL we don t know what b will be when constructing A void calledVery
  • 在打字稿中扩展枚举

    我希望在枚举中重用某些值 有关如何实现此类功能的任何建议 enum someEnum a Some String b 2 enum extendedEnum c string b someEnum b type someEnumType
  • 关闭终端本地回显的含义

    我有一个在 Linux 操作系统上运行的 C 应用程序 该应用程序从终端获取键盘按键并将其发送到远程服务器 下面的代码打开终端 save old terminal attributes if tcgetattr 0 ttyold 0 fpr
  • 在 Apps 脚本中将一维数组写入工作表列

    我正在尝试使用 Apps 脚本将长一维数组写入工作表的列中 但无法使其工作 尝试过 setValues 但它需要一个二维数组 function writeArrayToColumn var mainSheet SpreadsheetApp
  • 从文件中获取原始文件名

    我有一个需要 System File 的操作 public bool UploadToServer File file 我想在文件到达服务器后使用该文件的原始名称 我看过MSDN 的文件类 https msdn microsoft com
  • 计算表记录的最大存储大小?

    有没有办法确定 SQL Server 中记录的最大大小 而不是手动执行 例如 CREATE TABLE test id INT PRIMARY KEY IDENTITY 1 1 name VARCHAR 256 test date DATE
  • 通过电子邮件发送谷歌静态地图

    我可以在我的网站上显示谷歌静态地图图像 我创造 img src url 与电子邮件中的相同网址 图像以非常不同的方式显示 即世界地图 我检查了 chrome 中的元素 发现邮件服务器在其前面添加了一个 代理 url https ci6 go
  • TBXML 将复杂的 xml 解析为数组

    我有一个 xml 响应 需要将其设置为数组 问题是我需要访问每个元素并将其存储在数组中 以便我可以将其用于表视图
  • 如何使用复选框将电子邮件保存给订阅者?

    选中该框后 如何在单击 保存 后将用户的电子邮件从 输入电子邮件 添加到我的 mailchimp 订户列表中 用户 new html erb Get blog posts from Anthony Galli CEO Founder abo
  • 通过外部接口接收复杂的 JavaScript 值

    我正在尝试使用提供的外部对象通过 TWebBrowser 使用 TEmbeddedWB 接收并可能发送复杂值 例如 在 javascript 中 我会尝试使用公开的方法并以数组作为参数 var test 123 abc external s
  • 在 capistrano 部署之前在开发机器上进行资产预编译

    我希望在 capistrano 对代码进行打包 tar 打包 之前在我的开发计算机上进行资产预编译 并且预编译资产已包含在最终部署包中 当我尝试内置的 capistrano 食谱时load deploy assets 它运行rake RAI
  • 想要设置ul的liinnerHTML

    我正在编写一个 javascript 函数 我得到一个ul来自我的 HTML 的对象并想要设置其中之一的文本li elements in theul 我正在做 list document getElementById list name 然
  • CSS:以位置显示图像:固定但允许用户缩放

    I ve created a page that scales large images to fit the window however it does not allow the user to zoom once the image
  • mongodb查询结果不带字段名

    有没有办法获取仅包含值而不包含字段名称的 mongodb 查询结果 我的查询给出了以下结果 t number 2508 t number 2560 t number 2599 理想情况下我希望查询结果是 2508 2560 2599 或者如
  • 列出 AWS SSM Parameter Store 中的所有参数

    如何列出 AWS Systems Manager SSM 参数存储中的所有参数 我正在使用 AWS CLI 我可以将它们存储为aws ssm put parameter 我可以用以下方式获取它们aws ssm get parameter 我
  • 如何使用C从文件中读取二维数组?

    I tried void read grid from file int grid const size t row const size t column FILE inf size t x y for x 0 x lt row x fo
  • 尝试使用 Terraform 创建 AWS VPC 安全组时出现循环错误

    我想创建 2 个 VPC 安全组 一台用于 VPC 的堡垒主机 一台用于私有子网 BASTION resource aws security group VPC BastionSG name VPC BastionSG descriptio
  • psql \copy 中的变量替换

    是否可以在 PSQL 控制台导出文件中将当前日期放在文件名末尾 导出的文件名应该是这样的表 20140710 csv可以动态地做到这一点吗 日期的格式可以与上面的不同 但这并不重要 这就是我的意思的例子 set curdate curren
  • Django Serializer 使用外键关系保存模型

    我正在尝试保存一个具有引用另一个表的外键的模型对象 尝试编写相同的序列化器 但是无法理解如何做到这一点 并且似乎也找不到正确的文档 我的模型对象 class Restaurant models Model name models CharF
  • 拒绝访问 .tmp 路径

    我正在尝试使用 DotNetZip 库压缩文件 我正在从文件中读取路径并将 zip 保存到该文件 但程序崩溃并抛出 这是我的代码 using ZipFile zip new ZipFile zip AddDirectory dir OUTP