gpt4 book ai didi

asp.net-mvc - 返回 HttpPostedFileBase 以查看验证错误

转载 作者:行者123 更新时间:2023-12-04 14:15:56 24 4
gpt4 key购买 nike

当我尝试将图像上传到我的 MVC Controller 操作并且出现验证错误时,我必须单击每个按钮并再次找到我的所有文件。

如果我有一个包含以下内容的 View

<input type="file" id="file0" name="Files[0]" />
<input type="file" id="file1" name="Files[1]" />

和 Controller Action ,如
public ActionResult Create(ModelClass model, IEnumerable<HttpPostedFileBase> Files)
{
if(ModelState.IsValid)
{
//do work
if(PhotoValidation.IsValid(Files))
{
//do work
}
else
{
ModelState.AddModelError("","Photos not valid");
}
}
return view(model); // Way to return photos back to the view on modelstate error?
}

文件可以很好地发布到服务器,但是如果出现模型验证错误,是否有任何方法可以返回模型和文件,以便用户不必再次上传它们?

最佳答案

这不可能。输入 type="file"的值从不用于解析 HTML 页面。这是一个巨大的安全风险,因此没有现代浏览器会允许它们“保留”值。

如果您确定您的客户正在使用支持 HTML5 的浏览器,您可以尝试使用 JavaScript File API 以消除回发 - 查看以下文章:

  • Working with files in JavaScript, Part 1: The Basics
  • Working with files in JavaScript, Part 2: FileReader
  • Working with files in JavaScript, Part 3: Progress events and errors
  • Working with files in JavaScript, Part 4: Object URLs
  • Working with files in JavaScript, Part 5: Blobs
  • 关于asp.net-mvc - 返回 HttpPostedFileBase 以查看验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414872/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com