【问题标题】:File input and validation in ASP.NET MVC 2ASP.NET MVC 2 中的文件输入和验证
【发布时间】:2011-01-30 18:54:43
【问题描述】:

嗨,

即使在 ASP.NET MVC2 中,上传文件似乎也是一件棘手的事情。

我在我的表单上放置了几个输入(类型文件),并且在提交时很好地映射到我的视图模型。问题是如果 ModelStat.IsValid 为 false 那么我们将返回相同的表单并且文件输入将为空?

我知道可以清除输入字段(通过替换它),但我不知道如何正确设置输入?

即使在服务验证失败后返回表单时,用户也必须能够查看/更改/删除文件上传,我该如何处理?

致以最诚挚的问候

【问题讨论】:

  • 我知道,帖子很老了。如果你有ajax请求,model.state无效时输入不会为空,如果是http post请求则输入将为空白。是文件输入无法填充 .password 输入也因相同原因变为空白。

标签: asp.net-mvc-2 validation file-upload


【解决方案1】:

浏览器不允许您预填充文件输入元素。如果他们这样做了,那么恶意 Web 应用程序可能会开始将随机文件从网站访问者的硬盘上传到服务器。

通常处理这种情况的方式是将文件保存到服务器上的临时位置,当输入被更正并重新上传表单时,服务器可以将新传入的数据与现有的临时文件相关联。

【讨论】:

  • 谢谢,这是真的,我必须在这里想出一个聪明的解决方案。我的想法是在 fest 提交时上传图像,如果存在验证问题,则返回的视图类将必须包含有关上传图像的信息。在客户端,我将不得不使用 javascript 来处理上传和现有图像。很多工作,但我没有看到任何其他方式(除了闪光灯)。
猜你喜欢
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多