2017-04-23 11 views
0

クロムで画像をフルパスで取得することはできませんが、IEでは同じコードが使用できます。 'ファイルが見つかりませんでした:私は別の場所から画像を選択するたびにMVCクロム画像のフルパス

型「System.IO.FileNotFoundException」の例外ががmscorlib.dllで発生したが、ユーザーコード 追加情報で取り扱われていなかったとして、それはエラーをスローC:\ Program Files \ IIS Express \ Chrysanthemum.jpg 'のように入力します。以下は

Controllerコードの下

public ActionResult Create([Bind(Include = "id,Name")] Employee employee, HttpPostedFileBase file) 
{ 
    if (ModelState.IsValid) 
    { 
     string Name = @"C:\temp\yourfile.png"; 
     System.IO.File.WriteAllBytes(Name, System.IO.File.ReadAllBytes(file.FileName)); 

     employee.image = System.IO.File.ReadAllBytes(file.FileName); 
     db.Employees.Add(employee); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 
    return View(employee); 
} 

で、この問題の私はどこにでも画像を保存することはできませんですので、私のMVCコード

<input type="file" name="file" id="file" /> 
<input type="submit" name="submitButton" value="Save" /> 

です。 問題を解決するのを手伝ってください。

答えて

0

問題がいくつかあります。

  1. すなわちCハードコード化されたローカルのファイル・パスを使用しないでください:\など、Server.MapPathの
  2. の使用はまた、あなたは(あなたのケース、すなわち画像)にアクセスしたいリソースをチェックしてくださいはですMVCアプリケーションの同じ仮想ディレクトリまたはその下にある仮想ディレクトリ
  3. また、上記のリソースに対するアクセス権があるかどうかを確認してください。

他のドメインのリソースにアクセスしない限り、上記のチェックで問題が解決するはずです。

+0

こんにちは@バウアは返事をありがとう。実際にはハードコーディングされたパスを使用していません。例外的に発生します。ローカルシステムからイメージを選択していて、プロジェクトの場所に保存したかったのですが、それ自体はエラーを投げています。 –

関連する問題