asp.net mvc 3:使用图像管理模型的最佳方法

Posted

技术标签:

【中文标题】asp.net mvc 3:使用图像管理模型的最佳方法【英文标题】:asp.net mvc 3: best way manage a model with an image 【发布时间】:2012-05-04 04:15:23 【问题描述】:

我正在尝试找到管理具有关联图像的模型的最佳方法。

我不知道将图像保存在数据存储中是否更好

class MyModel 
  ...
  public byte[] ImageData  get; set; 
  ...

或保存网址并将图像上传到文件系统

class MyModel 
  ...
  public string ImageUrl  get; set; 
  ...

重要的是我想在创建或编辑模型记录时管理图像。

我不想要一个专门的模型/视图/控制器来将图像上传/保存到服务器。我想管理链接到数据库中特定实体的图像。

问候, 贾科莫

【问题讨论】:

【参考方案1】:

您的第一种方法很好,因为您将图像存储在数据库中。您仍然需要某种辅助函数,它会生成一个 URL 到呈现/显示图像的处理程序。

您可以选择存储图片网址,在这种情况下您不一定需要辅助方法。

如果您将图像存储在数据库之外(例如,在文件系统上),您显然不需要 ImageData 字节字段...

【讨论】:

@giacomo:很高兴这有帮助,但是如果我看看你的问题,这有点离题...... 它帮助我使用了不同的方法。我使用客户端 js 发布文件并使用控制器将文件保存到服务器 fs,而不是我可以将 MyModel.ImageUrl 与文件名相关联。 为了 100% 清楚,我希望在 Ruby on Rails 中使用 Paperclip Gem (github.com/thoughtbot/paperclip) 获得类似的结果。它将和附件视为模型中的任何其他字段。

以上是关于asp.net mvc 3:使用图像管理模型的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 4,EF5,模型中的唯一属性 - 最佳实践?

ASP.Net MVC:如何显示模型中的字节数组图像

asp.net mvc 模型与实体框架模型

在 ASP.NET MVC 2 中实现 DropDownList 的最佳方式?

使用 ASP.NET MVC 实现字段验证的最佳方法是啥? [关闭]

asp.net mvc 开发人员的 javascript 最佳实践