图像保存到文件系统使用MVC3(Saving image to the filesystem usi

2019-09-17 22:01发布

我有一些简单的实体现在需要有一个配置文件的图像。 什么是这样做的正确方法? 因此,它是1对1的关系,一个图像仅涉及一个实体,反之亦然。 此图像应通过网页表单上载与插入相关的实体一起。

所以,当我指出,使用文件系统存储图像,并坚持只路径图像到数据库我要问,如果有人有任何教程或链接来提供,或代码示例。

谢谢

Answer 1:

你应该做的步骤来创建图像的实体。

  1. 用图片上传ASP创建形式和收集数据的实体。 理想的情况是,如果你做的两个步骤,成为第一个图片上传。
  2. 在提交后的图像(也许你必须配置大图像的东西)和实体数据
  3. 检查图像的后端。 如果正常,存储文件夹中。
  4. 如果图像是确定的,在数据​​库创建实体。 实体图像路径应该从数据在步骤3中更新。

一些建议:

  • 代码防守。
  • 在图像的上传检查图像是有效的(甚至使图像头的二进制校验)
  • 等到图像上传和检查,以创建实体。
  • 不要让一个新的实体的INSERT的情况下覆盖现有的图像。
  • 命名图像作为主键(1.JPG,2.JPG)
  • 在图像的负载不要以为图像将是那里。
  • 不要让(如果可能)与图像人工交互(在机将影像复制到其他没有远程从一个地方)。 人工干预可能会导致不一致。


Answer 2:

我坚持图像源本身使用实体框架的数据库,我makesure我inlcude在数据库中的以下内容:

  • 创建日期
  • 文件类型(内容类型)
  • 源(二进制)
  • 文档名称
  • 文件大小
  • 高度
  • 宽度

我使用的字节流/ BinaryReaders加载它。 我的代码是在这里:

http://garfbradazweb.wordpress.com/2011/08/16/mvc-3-upload-sql-server-entity-framework/

全系列教程是在这里: http://garfbradazweb.wordpress.com/welcome-to-my-ancedotes/#

在人际关系方面,我有以下几点:

媒体表 -存储所有图像,包括上述提到的列。 您可能需要与其他表的图像。 关键是uniquieid(SQL)的量,C#类型是GUID。

个人资料表 -存储我的用户的个人资料。 这里我有一个图像标识它是资料行和图像之间的OME对一的关系。

我已经写了MVCImage应用程序,它展示了如何在这里使用这样的:

http://mvcimage.codeplex.com/让和我知道这是确定的,如果你需要的代码示例。



Answer 3:

对于一个单一的形象,我只想直接存储在表中。 你会不会膨胀,你将图像中调整到被接受的大小(即128×128像素)的数据库。

此外,没有必要担心文件系统备份和问题与多个Web服务器。



Answer 4:

您可以使用HTML标签的输入与文件类型:

<input type="file" name="file" />

一个完整的MVC例子可以在这里找到这里 。



文章来源: Saving image to the filesystem using mvc3