クライアントがキッチンの画像をアップロードして、それぞれにテキスト+タイトルを追加したいページがあります。今、私のソリューションはURL経由で画像をアップロードすることをサポートしていますが、クライアントが自分の画像を「参照」ボタンを使ってサイトにアップロードできるようにしたいと考えています。ASP.NET MVCのWebサイトに画像をアップロードしてデータベースに保存する
これは私の現在のモデルクラスである:私はボタンはモデルコントローラの「作成」ビューで、現在置かれていどこ
public class Udstillingsmodel
{
public int ID { get; set; }
public string titel { get; set; }
public string beskrivelse { get; set; }
public string billedeSti { get; set; }
}
public class UdstillingsmodelDBContext : DbContext
{
public UdstillingsmodelDBContext() : base("UdstillingsmodelDBContext") { }
public DbSet<Udstillingsmodel> Udstillingsmodels { get; set; }
}
これは、次のとおりです。
<div class="form-group">
<div class="control-label col-md-2">
<p><b>Billede:</b></p>
</div>
<div class="col-md-10">
<input type="file" accept="image/png, image/jpeg, image/gif" name="image" />
@Html.EditorFor(model => model.billedeSti, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.billedeSti, "", new { @class = "text-danger" })
</div>
</div>
これらの2つです作成機能のためのメソッドをGETとPOST:
// GET: Udstillingsmodels/Create
public ActionResult Create()
{
return View();
}
// POST: Udstillingsmodels/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,titel,beskrivelse,billedeSti")] Udstillingsmodel udstillingsmodel)
{
if (ModelState.IsValid)
{
db.Udstillingsmodels.Add(udstillingsmodel);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(udstillingsmodel);
}
私は「ブラウズ」のお尻を経由して、選択した画像を持っています名前付きの "イメージ"を変数として使用していますが、これをどうしたらいいのか、Entityフレームワークでイメージを正しく保存する方法がわかりません。今私のモデルの私の "イメージ"プロパティは単なる文字列ですが、サイト上の他の場所で行ったように、私の他のすべてのイメージが格納されているコンテンツフォルダの場所を指すことができると考えていました。より多くの情報とコードが必要な場合はお知らせください。
これは、ボタンが追加された状態で「作成」ビューが現在どのように表示されるかを示しています。 http://i.imgur.com/PgYq9nL.png
を役に立てば幸いアクションを作成し、フォームがこの
ようにする必要があり始めるあなたの答えをいただき、ありがとうございます。最初のコード行をどこに置いていいのかわかりません。これは、私の "Create"ビューでの画像アップロードのための私の現在のコードを置き換えるものですか?私はHtml.BeginForm()メソッドに慣れていません。 – Leth
作成ビューと編集ビューには@using(Html.BeginForm())コードが必要です。 Create.cshtmlとEdit.cshtml。私の最初のコード行に置き換えてください。 – oneNiceFriend
ああ、今私はそれを参照してください、ありがとう。コントローラでは、ビューの "image"変数を使用するためにメソッドヘッダに必要なパラメータは何ですか? – Leth