Mono 中的 FileUpload 控件

Posted

技术标签:

【中文标题】Mono 中的 FileUpload 控件【英文标题】:FileUpload Control in Mono 【发布时间】:2012-08-06 19:42:06 【问题描述】:

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

找不到路径“/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 路径)[0x00000] 中:0 在 System.Web.HttpPostedFile.SaveAs(System.String 文件名)[0x00000] 中:0 在 System.Web.UI.WebControls.FileUpload.SaveAs (System.String 文件名) [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] 在: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.RaisePostBackEvents () [0x00000] 在:0 在 System.Web.UI.Page.ProcessRaiseEvents () [0x00000] 在:0 在 System.Web.UI.Page.InternalProcessRequest () [0x00000] 在:0 在 System.Web.UI.Page.ProcessRequest (System.Web.HttpContext 上下文) [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】:

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

【讨论】:

但我认为这可能是最好的方法,还有其他人可以告诉我更好的解决方案吗?

以上是关于Mono 中的 FileUpload 控件的主要内容,如果未能解决你的问题,请参考以下文章

关于FileUpload控件上传文件大小限制问题

简单js fileUpload控件(单例)

管理 FileUpload 控件上的编辑

用FileUpLoad控件上传图片后,如何将读取出的图片路径存储下来?

UpdatePanel 中的 FileUpload 控件而不刷新整个页面?

js ajaxfileupload.js IE8 上传文件 拒绝访问