0

ローカル マシンでは以下のコードは正常に動作しますが、リモート サーバーでホストされている場合、イメージ ファイルが見つからないようです。Imageフォルダーを作成し、読み取り/書き込み権限も付与しました

// --------------------------------------------
エラー

Server Error in '/' Application.  
Could not find file 'IdImage.jpg'.

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

Exception Details: System.IO.FileNotFoundException: Could not find file 'IdImage.jpg'.

コードは以下の通り
// ------------------------------------------------ -

[HttpPost]  
public ActionResult Index(HttpPostedFileBase file)  
{  
    if (file != null && file.ContentLength > 0)   
    {  
       var fileName = Path.GetFileName(file.FileName);  
       var path = Path.Combine(Server.MapPath("~/Images/Photo"), fileName);  
       file.SaveAs(path);  
    }  

    return RedirectToAction("Index");          
}
4

2 に答える 2

0

私はこのコードを使用します

[HttpPost]
public ActionResult Upload(System.Web.HttpPostedFileBase file)
{
       string filename = Server.MapPath("~/files/somename");
       file.SaveAs(filename);
       return RedirectToAction("Index");
}

ビューで

@{
    ViewBag.Title = "Upload";
}
<h2>
    Upload</h2>
@using (Html.BeginForm(actionName: "Upload", controllerName: "User", 
                       method: FormMethod.Post,
                       htmlAttributes: new { enctype = "multipart/form-data" }))
{
    <text>Upload a photo:</text> <input type="file" name="photo" />
    <input type="submit" value="Upload" />
}
于 2013-01-14T15:51:38.387 に答える
0

これは、許可の問題によく似ています。あなたはImagesフォルダーを作成し、それに読み取り/書き込み許可を与えたと言いましたが、あなたのコードからわかるように、あなたは というサブフォルダー内に画像を保存しようとしていますPhoto。そのため、このフォルダーも作成し、読み取り/書き込み権限も付与されていることを確認してください。また、これらのアクセス許可を正しいアカウント (アプリケーションがホストされているアプリケーション プールを実行するように IIS で構成されているアカウント) に付与していることを確認してください。

于 2013-01-13T09:36:12.610 に答える