翼度科技»论坛 编程开发 python 查看内容

学习ASP.NET Core Blazor编程系列十八——文件上传(中)

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
学习ASP.NET Core Blazor编程系列文章之目录  学习ASP.NET Core Blazor编程系列一——综述   学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(上)
                                学习ASP.NET Core Blazor编程系列三——实体 学习ASP.NET Core Blazor编程系列五——列表页面  学习ASP.NET Core Blazor编程系列七——新增图书                                                                                学习ASP.NET Core Blazor编程系列八——数据校验 学习ASP.NET Core Blazor编程系列十——路由(上) 学习ASP.NET Core Blazor编程系列十三——路由(完) 学习ASP.NET Core Blazor编程系列十五——查询  学习ASP.NET Core Blazor编程系列十六——排序       学习ASP.NET Core Blazor编程系列十七——文件上传(上)        
 

           上篇学习ASP.NET Core Blazor编程系列十七——文件上传(上)文章我们学习了如何将文件上传至服务器,但是我们并没有将文件的一些信息保存下来,无法进行查询,无法得知我们上传了一些什么文件。本篇文章演示如何将上传文件的一些基本信息保存到数据库,从而可以对上传文件进行简单管理。

三、添加FileDescribe类

            在Visual Studio 2022的解决方案资源管理器中,鼠标左键选中“Models”文件夹,右键单击,在弹出菜单中选择“添加—>类”。 将类命名为“FileDescribe”,并添加以下属性,代码如下:

 

  1. using System.ComponentModel.DataAnnotations;
  2. using System.ComponentModel.DataAnnotations.Schema;
  3. using System.Xml.Linq;
  4.  
  5. namespace BlazorAppDemo.Models
  6. {
  7.     public class FileDescribe
  8.     {
  9.         [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  10.         [Required]
  11.         [Key]
  12.         public int ID { get; set; }
  13.  
  14.         [Display(Name = "文件名称")]
  15.         [Required]
  16.         [StringLength(100)] 
  17.         public string Name { get; set; }
  18.         [Display(Name = "上传后文件名称")]
  19.         [StringLength(100)]
  20.         public string NewName { get; set; }
  21.  
  22.  
  23.         [Display(Name = "文件大小(bytes)")]
  24.         [DisplayFormat(DataFormatString = "{0:N1}")]
  25.         public long FileSize { get; set; }
  26.  
  27.         [Display(Name = "文件描述")]
  28.         public string PubliceDescribe { get; set; }
  29.         [Display(Name = "文件路径")]
  30.         [StringLength(300)]
  31.         public string FullName { get; set; }
  32.         [Display(Name = "上传时间(UTC)")]
  33.         [DisplayFormat(DataFormatString = "{0:F}")]
  34.         [Required]
  35.         public DateTime UploadDateTime { get; set; }
  36.     }
  37. }
复制代码
 
  此类使用 Display 和 DisplayFormat 特性,有前端显示时,这些特性会生成友好的标题和格式。

四、修改BookContext

       在Visual Studio 2022的解决方案资源管理器中找到BookContext (Models/BookContext.cs) 文件,使用鼠标左键双击在文本编辑器中打开,并修改代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.EntityFrameworkCore;
  6.  
  7.  
  8. namespace BlazorAppDemo.Models
  9. {
  10.     public class BookContext:DbContext
  11.     {
  12.         public BookContext(DbContextOptions<BookContext> options)
  13.  
  14.               : base(options)
  15.         {
  16.            
  17.        }
  18.  
  19.         public DbSet<Book> Book { get; set; }
  20.         public DbSet<FileDescribe> FileDescribe { get; set; }
  21.  
  22.     }
  23. }
  24.  
复制代码
 

五、将 “FileDescribe” 类生成数据库表

   1.在Visual Studio 2022中打开程序包管理器控制台 (PMC),“菜单栏>工具> NuGet 包管理器 > 程序包管理器控制台”。

 
  2.在 PMC 中分别执行以下两条命令。这两条命令将实现向数据库中添加 FileDescribe表,执行结果发下图1、与图2。

       Add-Migration AddFileDescribeTable

       Update-Database

 

图1


图2

 3.在执行以上指令之后,会在数据库中添加FileDescribe表,结果如下图。

 

 
 


来源:https://www.cnblogs.com/chillsrc/archive/2023/01/01/17018005.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具