C#IO异常
我正试图保存从邮箱下载的文件。这并没有任何问题,但现在我已经在我的modell上构建了GUI,我得到了授权异常:C#IO异常,c#,exception,io,C#,Exception,Io,我正试图保存从邮箱下载的文件。这并没有任何问题,但现在我已经在我的modell上构建了GUI,我得到了授权异常: Saved file: C:\TempNorlander System.UnauthorizedAccessException: Access to the path 'C:\TempNorlander' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at
Saved file: C:\TempNorlander
System.UnauthorizedAccessException: Access to the path 'C:\TempNorlander' 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)
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 a.a0.b(String A_0, Byte[] A_1, Int32 A_2, Int32 A_3)
at MailBee.Mime.Attachment.Save(String filename, Boolean overwrite)
at Mail2DB.Connect2Exchange.CollectData() in C:\Users\marthin\documents\visual studio 2010\Projects\Mail2DB\Mail2DB\Connect2Exchange.cs:line 210
我想不出这里有什么问题。在文件夹iv集合中,所有可能的用户都拥有所有权限
编辑:
我忘了提到,现在使用GUI,我在一个简单的文本框中输入folderpath。(通过FolderBrowser对话框)
第二次编辑:
我在Windows7和VS2010上运行这个。
谢谢你的帮助!
/Marthin错误很明显: 对路径“C:\TempNorlander”的访问被拒绝 运行此进程的用户没有访问此文件夹的权限
请授予此用户正确的权限,或者使用已拥有权限的用户启动程序。错误非常明显: 对路径“C:\TempNorlander”的访问被拒绝 运行此进程的用户没有访问此文件夹的权限
请授予此用户正确的权限,或使用已拥有权限的用户启动程序。假设这是一个web项目-默认情况下,您的项目将在IIS
DefaultAppPool
下运行,该IIS没有读取硬盘上任意文件的权限。你可以通过
特别允许应用程序池
通过添加来访问文件夹/文件
浏览器中的权限
用于读取文件
在另一个国家的全权证书下
使用者
为您的应用程序使用不同的标识
通过创建
另一个应用程序池或现有应用程序池的
如果您的GUI不是web项目,则第2点仍然适用-您需要模拟对文件夹/文件具有读取权限的用户,或将这些权限添加到您的应用程序正在运行的用户。假设这是一个web项目-默认情况下,您的项目将在IISDefaultAppPool
下运行,该IIS没有读取权限读取硬盘上的任意文件。你可以通过
特别允许应用程序池
通过添加来访问文件夹/文件
浏览器中的权限
用于读取文件
在另一个国家的全权证书下
使用者
为您的应用程序使用不同的标识
通过创建
另一个应用程序池或现有应用程序池的
如果您的GUI不是web项目,则第2点仍然适用-您需要模拟对文件夹/文件具有读取权限的用户,或将这些权限添加到应用程序正在运行的用户。可能的原因:
你不能用C语言创建一个文件:(顺便说一句,你不应该这样做)
您已经在其他进程或应用程序中打开了该文件
您正试图覆盖现有文件,但无法覆盖
也许你想解决你真正想要完成的任务。
例如,将一些数据保存到可以在同一会话中访问的临时文件中。或附加到ASP.NET应用程序的持久数据文件,该应用程序可在以后的调用中访问
例如,如果这是一个桌面应用程序,您需要创建一个用于保存数据的临时文件,您可能希望使用它。可能的原因:
你不能用C语言创建一个文件:(顺便说一句,你不应该这样做)
您已经在其他进程或应用程序中打开了该文件
您正试图覆盖现有文件,但无法覆盖
也许你想解决你真正想要完成的任务。
例如,将一些数据保存到可以在同一会话中访问的临时文件中。或附加到ASP.NET应用程序的持久数据文件,该应用程序可在以后的调用中访问
例如,如果这是一个桌面应用程序,您需要创建一个用于保存数据的临时文件,那么您应该使用它
保存的文件:C:\TempNorlander
您正试图保存与文件夹同名的文件。这是不允许的,结果是UnauthorizedAccessException。将文件名修复为,例如C:\TempNorlander\mumble.txt
保存的文件:C:\TempNorlander
您正试图保存与文件夹同名的文件。这是不允许的,结果是UnauthorizedAccessException。将文件名固定为,例如,C:\TempNorlander\mumble.txt这是一个Windows应用程序。这是一个Windows应用程序。它是一个Windows应用程序,用户填写与exchange服务器的连接信息,带有一些和csv文件的邮件被下载并解析到数据库中。它是一个Windows应用程序,用户在此处填写与exchange服务器的连接信息,带有一些和csv文件的邮件将被下载并解析到数据库中。您的正确,由于某些原因,我的路径不正确。我使用了一个3:dpart库来处理所有路径和节省。我想我应该读一下曼纽尔的书。谢谢你的帮助!你是正确的,由于某种原因,我的路径是错误的。我使用了一个3:dpart库来处理所有路径和节省。我想我应该读一下曼纽尔的书。谢谢你的帮助!