gpt4 book ai didi

javascript - 从服务器上传并返回多个 HttpPostedFiles

转载 作者:行者123 更新时间:2023-11-28 01:25:08 29 4
gpt4 key购买 nike

我已经创建了一个用于多张图片上传的简单机制。

文件正在正确上传到服务器,但是当我在服务器端遇到一些错误时,我执行 ModelState.AddModelError("PostedPhotos", "Error msg"); 并传递我的 View 模型回到 View ,我想再次显示此错误和图片预览。

不幸的是,PostedPhotosnull。也许我以错误的方式绑定(bind)了一些东西。

在我的 View 模型中 PostedPhotos 是:

public List<HttpPostedFileBase> PostedPhotos { get; set; }

在我看来:

@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.TextBoxFor(m => m.PostedPhotos, new { name = "PostedPhotos[]", type = "file", multiple = "multiple" })
}

是否可以传回我的文件?我想做一些愚蠢的解决方法。我可以使用单个 HttpPostedFileBase 创建隐藏输入,然后使用 jQuery 设置 $(myPostedPhotosInput)[0].files = getFilesFromTrickySingleFileInputs();,但我不喜欢它。

最佳答案

您不能使用 return View() 返回文件输入的值。您也不能使用 jquery 设置值。这样做将是一个主要的安全问题。有人可能会创建一个包含多个隐藏文件输入的站点,将值设置为常用文件名(例如 C:\password.doc),然后在您不知情的情况下下载您的文件。

如果返回 View ,用户需要重新选择文件。作为替代方案,您可以在首次提交时保存文件(可能保存到临时位置)并返回文件名( View 模型或 ViewBag 属性),以便您可以通知用户这些文件已上传,无需重新选择。

关于javascript - 从服务器上传并返回多个 HttpPostedFiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440377/

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