我正在构建一个 ASP.NET MVC 4 应用程序,它允许用户将大量图像上传到服务器。每个图像都会关联某些实体,例如 Product 实体将与产品图像关联,Category 实体将与类别图像关联。
我正在我的模式中创建一个表来记录所有上传的文件,其中包含一个字符串“Ref”,每当用户想要对文件进行操作时,我都会解析它,比如删除文件。这样,当用户想要删除文件时,我会简单地将架构中的文件标记为删除,并且每天一次,我可以通过批量删除所有标记的文件来“清理”服务器上传的文件。
例如,一个文件image.jpg
作为产品图片上传,我将在 ref 标签image productID 4
中显示这是产品 ID 为 4 的产品的图片。
这是实现上传文件处理的正确方法还是有更好的方法?这是“引用”与此文件关联的其他实体的正确方法吗?
这是我的 codefirst 实体:
public class UploadedFile
{
[Key]
public int ID { get; set; }
public string RelativePath { get; set; }
public string AbsolutePath { get; set; }
public string Ref { get; set; }
public DateTime UploadedOn { get; set; }
public bool IsMarkedForDeletion { get; set; }
public bool IsImage { get; set; }
}
有没有办法在设置其他属性时声明某些公共属性自动设置?例如,如果上传的文件类型是图像,我想添加自动设置的 ImageWidth 和 ImageHeight 属性(即每当我设置 IsImage = true 时)