c# - 使用 mvc3 将图像保存到文件系统

标签 c# asp.net-mvc-3 image

我有一些简单的实体,现在需要一个个人资料图片。这样做的正确方法是什么?所以,这是一对一的关系,一张图片只与一个实体相关,反之亦然。此图片应通过网络表单上传并插入相关实体。

因此,正如我指出的那样使用文件系统来存储图像并将仅路径图像保存到数据库中,我不得不询问是否有人提供任何教程或链接或代码示例。

谢谢

最佳答案

创建带有图像的实体应该执行的步骤。

  1. 创建带有图像上传功能的 ASP 表单并为实体收集数据。理想情况下,如果您分两步进行,即第一个图片上传。
  2. 关于提交帖子图像(也许你必须为大图像配置一些东西)和实体数据
  3. 在后端检查图片。如果可以,请存储在文件夹中。
  4. 如果图像没问题,在数据库中创建实体。实体图像路径应根据第 3 步中的数据进行更新。

一些建议:

  • 防御性编码。
  • 上传图片时检查图片是否有效(甚至对图片标题进行二进制检查)
  • 等到图像上传并检查以创建实体。
  • 不允许在插入新实体时覆盖现有图像。
  • 将图片命名为主键(1.jpg、2.jpg)
  • 加载图像时,不要假设图像会在那里。
  • 不允许(如果可能)与图像进行手动交互(禁止在机器中进行远程处理和将图像从一个地方复制到另一个地方)。手动交互可能会导致不一致。

关于c# - 使用 mvc3 将图像保存到文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946789/

相关文章:

C# - 写入 CSV 文件时格式化列(单元格格式)

c# - 正确使用单例模式

asp.net-mvc-3 - 将 MVC3 AntiforgeryToken 与链接一起使用?

asp.net - 在 _LogonPartial 中显示模型数据

asp.net-mvc-3 - Azure 中的 MVC3 EF 应用程序,为什么我必须每隔一段时间预热一次?

javascript - 使用 Node 下载的图像为 209 字节,但可以在 chrome 中访问该图像

c# - 图书馆确定名词的不定冠词?

c# - 协助重构 LINQ 方法

html - 使用相对定位将文本覆盖在图像上

html - 无法固定 flexbox 盒子的宽度