Mono中的FileUpload控件

时间:2012-08-09 14:36:49

标签: asp.net .net apache file-upload mono

当我在Mono + Apache2上运行ASP.NET时,我遇到了一个问题。 我在一个页面中放置了一个FileUpload Control,当点击按钮上传文件时,它会抛出异常:

  

无法找到路径的一部分“/var/www/www.mysite.com/upload/headImage/uid_1.jpg”。

     

描述:HTTP 500.错误处理请求。

     

堆栈追踪:

     

System.IO.DirectoryNotFoundException:找不到路径“/var/www/www.mysite.com/upload/headImage/uid_1.jpg”的一部分。    在System.IO.File.Delete(System.String path)[0x00000] in:0    在System.Web.HttpPostedFile.SaveAs(System.String filename)[0x00000] in:0    在System.Web.UI.WebControls.FileUpload.SaveAs(System.String filename)[0x00000] in>:0    在WebApplication.users.ImageUpload.btnUpload_Click(System.Object sender,> System.EventArgs e)[0x00000] in:0    在System.Web.UI.WebControls.Button.OnClick(System.EventArgs e)[0x00000] in:0    在System.Web.UI.WebControls.Button.RaisePostBackEvent(System.String eventArgument)> [0x00000] in:0    在System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent>(System.String eventArgument)[0x00000] in:0    在System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,> System.String eventArgument)[0x00000] in:0    在System.Web.UI.Page.RaisePostBventsEvents()[0x00000]中:0    在System.Web.UI.Page.ProcessRaiseEvents()[0x00000]中:0    在System.Web.UI.Page.InternalProcessRequest()[0x00000]中:0    在System.Web.UI.Page.ProcessRequest(System.Web.HttpContext context)[0x00000] in:0

我确定路径“/var/www/www.mysite.com/upload/headImage/”存在并且已经是chmod 766并且该文件夹中不存在“uid_1.jpg”。

源代码:

string fileName = "uid_1.jpg";
string imageUrl = "/upload/headImage/" + fileName;
fileName = Path.Combine(Server.MapPath("~/upload/headImage/"), fileName);
if (File.Exists(fileName))
{
   File.Delete(fileName);
}

upload.SaveAs(fileName);

有谁能说出怎么办? 感谢。

1 个答案:

答案 0 :(得分:1)

我明白了! 当我使用chmod 777 /var/www/www.mysite.com/upload/headImage/时,我发现我现在可以将文件上传到服务器了。