0

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 filename) [0x00000] in >:0 at WebApplication.users.ImageUpload.btnUpload_Click (System.Object sender, >System.EventArgs e) [0x00000] in :0 at System.Web.UI.WebControls. Button.OnClick (System.EventArgs e) [0x00000] in :0 at System.Web.UI.WebControls.Button.RaisePostBackEvent (System.String eventArgument) >[0x00000] in :0 at System.Web.UI.WebControls.Button .System.Web.UI.IPostBackEventHandler.RaisePostBackEvent >(System.String eventArgument) [0x00000] in :0 at System.Web.UI.Page.

パス「/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);

誰でも方法を教えてもらえますか?ありがとう。

4

1 に答える 1

1

わかった!chmod 777 /var/www/www.mysite.com/upload/headImage/ を使用すると、サーバーにファイルをアップロードできるようになりました。

于 2012-08-10T00:32:02.010 に答える