MVC4 C# で Web サイトを作成しています。これにより、プロジェクトのフォルダー内のフォルダーにファイルをアップロードできます。何らかの理由で、コントローラーがアップロードされたファイルを見つけることができません。「db.music.Add(newsong)」は、曲のパスと名前を DB に追加しません。プロジェクトのビュー、コントローラー、モデルは次のとおりです。ご協力いただきありがとうございます!
Index.cshtml - 表示
@{
ViewBag.Title = "Index";
}
<h2>Your Music</h2>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" >
<input type="submit" />
MusicController.cs - コントローラー
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
MVPDB db = new MVPDB();
UploadMusic newsong = new UploadMusic();
newsong.userId = 11;
newsong.songName = file.FileName.ToString();
newsong.songPath = Path.GetFileName(file.FileName).ToString();
db.music.Add(newsong);
db.SaveChanges();
var path = Path.Combine(Server.MapPath("~/UserFiles/"), fileName);
file.SaveAs(path);
}
return RedirectToAction("Index");
}
Music.cs - モデル
namespace MVP.Models
{
public class Music
{
[Key]
public int userId { get; set; }
public string songName { get; set; }
public string songPath { get; set; }
}
public class UploadMusic
{
[Required]
public int userId { get; set; }
[Required]
public string songName { get; set; }
[Required]
public string songPath { get; set; }
}
}