2

私は1つのMVC3 Razorアプリケーションを作成しています。ファイルアップロードを使用しました。画像を保存して表示する必要があります。アップロードされた画像はVisual Studioのフォルダーには表示されませんが、Windowsから同じフォルダーを開くと画像が表示されます。その後、アップロードが機能しています。

私のコントローラー:

public ActionResult Save(HttpPostedFileBase attachments)
{
    var fileName = Path.GetFileName(attachments.FileName);
    var physicalPath = Path.Combine(Server.MapPath("~/App_Data"), fileName);
    attachments.SaveAs(physicalPath);
    string fnn = fileName;
    ViewBag.fnn = fnn;
    return Content("");
}
4

2 に答える 2

1

コメントで述べたように、Visual Studio 内のフォルダーに表示されるアイテムは、ソリューションに使用されるアイテムです。

アプリケーションがオンラインで展開されて実行されている場合、VS とは何の関係もありません。VSも実行されません。

ファイルを正しくアップロードしているように見え、本来あるべきように動作しています。VS にアップロードしたファイルを追加する場合は、フォルダを右クリックしてAdd選択Existing Itemし、ファイルを選択します。ソリューションに入れるためにアップロードする必要がなかったとしても、最初からフォルダーに追加するだけで済みます。

サイトに画像を表示したい場合は、次のようにします。

<img src="@ViewBag.fnn" alt="Uploaded Image" />

ViewBag.fnnファイル名だけでなく、ファイルへのパスが必要であることに注意してください。画像alt=の説明だけです。

于 2012-08-04T09:40:04.960 に答える