【发布时间】:2016-10-21 06:43:55
【问题描述】:
我有一个方法可以帮助创建目录 ifNotExist 并保存文件的路径,...
现在我有一个小问题,Directory.CreateDirectory(savePath); 运行时出现异常。我仍然无法正确处理。我想知道我做错了什么以及如何解决它。欢迎任何人服从。谢谢
这是我的方法:
protected void ASPxUpload_FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e)
{
if (e.IsValid)
{
String savepath = String.Format("{0}{1}\\", MapPath(@"~\TicketUploads\"), Session["lastcallid"]);
if (!Directory.Exists(savepath))
{
Directory.CreateDirectory(savepath);
}
String savefile = String.Format("{0}{1}", savepath, e.UploadedFile.FileName);
e.UploadedFile.SaveAs(savefile);
String urlPath = String.Format("{0}{1}\\{2}", @"~\TicketUploads\", Session["lastcallid"], e.UploadedFile.FileName);
fault_detail fltdet = session.GetObjectByKey<fault_detail>(Convert.ToInt32(Session["lastcallid"]));
fltdet.hasattachment = "Y";
fltdet.AttachUrl = urlPath;
fltdet.Save();
}
}
有关我尝试做什么的更多详细信息:
它简单地允许 Web 服务器识别日志用户的 ID。并使用该 ID,因此我们应该在 Ticketuploads 文件夹中创建一个文件夹。这就像我们试图同时创建 2 个文件夹。这就是我使用的原因:"{0}{1}\\"
【问题讨论】:
-
建议:请使用
Path.Combine而不是String.Format -
尝试以管理员身份运行。
-
@AmeyKamat,感谢您的回复。但我只是尝试了你所说的。我有一个错误用户:
Session["lastcallid"]它说:Caanot convert from object to String。 -
@CodeJoy,我已经以管理员身份运行了,谢谢。
-
@CodeJoy,这里是完整的异常消息:
An exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll but was not handled in user code
标签: c#