【发布时间】:2014-06-24 01:35:28
【问题描述】:
我需要添加一个上传功能。页面上的一个组件,允许您上传包含电影列表和电影信息的文件,然后将其显示到屏幕(网页)并保存到数据库。
我需要帮助的部分是解析上传的 csv 文件的内容并将数据保存到 sql server 数据库并将内容列表显示到屏幕上。我已经创建了上传功能,如下所示:
这是一个 ASP.NET MVC 4 电影应用程序。
以下是我目前所拥有的:
查看:
@using (Html.BeginForm("Upload", "Movies", FormMethod.Post, new {enctype="multipart/form-data"}))
{
<input type="file" name="File" id="File" />
<input type="submit" name="Submit" value="Upload" />
<span>@ViewBag.Message</span>
}
控制器:
[HttpPost]
public ActionResult Upload(HttpPostedFileBase File )
{
// Verify that the user selected a file
if (File != null && File.ContentLength > 0)
{
// extract only the filename
var fileName = Path.GetFileName(File.FileName);
// store the file inside ~/App_Data/uploads folder
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
File.SaveAs(path);
ViewBag.Message = "File uploaded successfully";
}
// redirect back to the index action to show the form once again
return RedirectToAction("Index");
}
模型(数据库):
public class Movie
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
//[DataType(DataType.Date)]
public DateTime ReleaseDate { get; set; }
[Required]
public string Genre { get; set; }
[Range(1,100)]
[DataType(DataType.Currency)]
public decimal Price { get; set; }
public bool IsCompleted { get; set; }
[StringLength(5)]
public string Rating { get; set; }
public string EnterUrl { get; set; }
//public HttpPostedFileBase Document { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
【问题讨论】:
-
什么不起作用?这不是一个供人们为您编写代码的网站。您遇到并试图解决的具体问题是什么?也许可以尝试将问题分解成更小的部分,以便人们更容易重现。
-
需要说明的是,我从来没有要求任何人为我编写代码,所以不确定你从哪里得到的,所以没必要粗鲁。我遇到的具体问题是获取我已经上传的文件。从上传的文件中解析文件数据,例如(标题、发布日期、评级..等),然后将这些内容保存到数据库并将其显示到网页上。我已经搜索并尝试使用流式阅读器,但似乎无法弄清楚。如果您能指导或指导我完成这项任务,将会很有帮助。
-
我的本意是不要显得粗鲁。就目前的形式而言,这个问题相当大。解析文件,将其保存到数据库并显示它跨越了许多技术。只是不清楚你在问什么。例如,为什么不能保存文件?你有错误吗?如果不是,那有什么问题?其他问题也一样。每个步骤都不起作用怎么办?
-
不用担心。我正在尝试学习asp.net mvc 4。所以我想添加一个上传功能。上面我上传的功能工作得很好。现在我正在努力解决如何获取上传的文件并从中读取数据。我可以将上传的文件保存到我的应用程序的文件夹中。现在我想检索上传的文件以读取/解析内容,如(标题、发布日期、评级..等)并将其显示到屏幕并存储在数据库中。
-
我试过用 streamreader 读取整个文件,然后我不知道之后该怎么做。
标签: c# asp.net asp.net-mvc-4