mvc+ef实现实现文件上传代码
时间: 2023-12-09 08:03:10 浏览: 138
MVC 文件上传
4星 · 用户满意度95%
以下是基于ASP.NET MVC和Entity Framework的文件上传代码示例:
1. 创建一个视图,用于显示上传的文件表单。
```html
@using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="Upload" />
}
```
2. 在控制器中添加一个动作方法,用于处理上传的文件。
```csharp
public ActionResult UploadFile(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
using (var db = new DbContext())
{
var uploadedFile = new UploadedFile
{
FileName = fileName,
FilePath = path
};
db.UploadedFiles.Add(uploadedFile);
db.SaveChanges();
}
ViewBag.Message = "File uploaded successfully";
}
return View();
}
```
3. 创建一个模型,用于表示上传的文件信息。
```csharp
public class UploadedFile
{
public int Id { get; set; }
public string FileName { get; set; }
public string FilePath { get; set; }
}
```
4. 在DbContext中添加UploadedFiles属性。
```csharp
public class DbContext : System.Data.Entity.DbContext
{
public DbSet<UploadedFile> UploadedFiles { get; set; }
}
```
这个示例将上传的文件保存到App_Data/uploads文件夹中,并将文件信息存储在数据库中。你可以根据自己的需求修改代码。
阅读全文