我在下面的代码VSTO插件我写了展望:保存电子邮件附件的UNC路径
savefolder = Regex.Replace(Guid.NewGuid().ToString(), @"[- ]", String.Empty);
savepathfull = string.Format(@"{0}{1}", netloc, savefolder);
DirectoryInfo di = new DirectoryInfo(@savepathfull);
if (!(di.Exists))
Directory.CreateDirectory(@savepathfull);
removedFiles = new List<string>();
for (int d = attachs.Count; d > 0; d--)
{
if (attachs[d].Size > smallAttachment)
{
removedFiles.Add(attachs[d].FileName);
attachs[d].SaveAsFile(savepathfull);
}
}
一切工作正常,直到我试图将附件保存在哪一点我收到一个UnauthorizedAccessException。我知道我的测试用户对文件夹拥有完全的权利,但我仍然收到此错误。
想法?
谢谢。
哪行引发异常?你还可以发布异常消息和堆栈跟踪吗? –
我也会尝试删除那里的目录,看看Directory.CreateDirectory中是否有错误将{if}语句包装好,以便您可能需要做其他事情,最好将它包装在Try catch中,不要假设该代码将不会错误..如果它返回一个错误,那么它可能是一个权限/权限问题,你有权访问网络共享或文件夹..? – MethodMan
我很困惑你的实现。 'savepathfull'是一个文件还是一个目录?您似乎将它用作_('Directory.CreateDirectory(@savepathfull);'和'attachs [d] .SaveAsFile(savepathfull);')_。 – SliverNinja