Я делаю загрузку музыки в свое приложение, используя плагин uploadify, загрузка работает, но когда я сохраню ссылку на путь (где музыка сохраняется в моем проекте), я получаю нулевое значение , кто-нибудь знает, как я могу это сделать?Как сохранить путь к файлу в базе данных?
Загрузить Метод на MusicController
public ActionResult Upload()
{
var file = Request.Files["Filedata"];
string savePath = Server.MapPath(@"~\mp3\" + file.FileName);
file.SaveAs(savePath);
return Content(Url.Content(@"~\mp3\" + file.FileName));
}
Создать метод в MusicController
public ActionResult Create(Musica musica)
{
MembershipUser user = Membership.GetUser();
int userId = Int32.Parse(Membership.GetUser().ProviderUserKey.ToString());
string userName = user.UserName;
musica.UserId = userId;
musica.NomeArtista = userName;
if (musica.isFree)
{
musica.Preco = 0;
}
//Here I try to take the path value
musica.path = Upload().ToString();
if (ModelState.IsValid)
{
db.Musicas.Add(musica);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.GeneroId = new SelectList(db.Generos, "GeneroId", "Nome", musica.GeneroId);
return View(musica);
}
Об этом случае я только хочу, чтобы сохранить в моей базе данных, эта информация:
~\mp3\MusicExample.mp3
Кто-нибудь может мне помочь?
Вы просто пытаетесь сохранить этот '~ \ mp3 \ MusicExample.mps' как поле' varchar' в базе данных, или пытаетесь сделать [BLOB] (http://stackoverflow.com/ вопросы/23894716/как к копи-образ-как-varbinay-в-SQL-Server-2008R2/23899574 # 23899574)? – alykins
Похоже, вы вызываете действие контроллера 'Upload' в своем действии' Create'. Это не имеет никакого смысла. Если метод «Загрузить» используется только для сохранения файла (т. Е. Это вовсе не действие), он должен возвращать строку «string» или что-то подобное, а не «ActionResult». –
@alykins Как варчар! –