gpt4 book ai didi

c# - 在 ASP.NET MVC 中发布序列化的 ASP.NET 模型和具有单个 Jquery Ajax 调用的文件

转载 作者:行者123 更新时间:2023-12-01 07:57:49 25 4
gpt4 key购买 nike

我正在 asp.net 中开发一个电影库应用程序。在管理页面中,我需要将电影添加到数据库中(详细信息,例如名称、 Actor 、海报网址)。我还需要将电影预告片上传到服务器中的特定文件夹。

在我的 AddMovie View (强类型化为 MovieDetails 模型)中,我有一个表单将电影信息作为文本包含在内,并使用文件输入来上传文件(电影预告片)。在我的 Controller 中,我将绑定(bind)的 MovieDetails 模型和上传的文件分别作为两个参数,如下所示。

AddMovie Controller

起初,我只是从我的 View 发布到这个 Controller ,而不使用 ajax。我能够将模型和文件发送到 Controller 来执行我需要执行的操作。

然后我转向 ajax 并尝试在不刷新页面的情况下完成此操作。

enter image description here

现在没有文件无法上传。我尝试调试并注意到 Controller 的 uploadFile 参数为空,尽管我将文件附加到 View 中的文件输入。

有没有办法将模型发布到 Controller 并上传文件,而无需完全更改 Controller 并使用单个ajax调用?

或者是否可以通过模型属性传递文件路径,访问该文件路径并使用 Ajax 将相关文件上传到 Controller 中。

谢谢!

最佳答案

正如 Darin 提到的,出于某些安全原因,没有简单的方法可以通过 ajax 处理文件上传事务,并且您无法轻松地将文件上传到服务器;但好消息是有一些技巧可以解决它,例如,您可以使用 jquery AjaxForm只需稍加修改即可轻松地在您的 mvc 表单中。看一下 jquery-ajax-form 及其示例,您将会得到一些关于它的好主意。

关于c# - 在 ASP.NET MVC 中发布序列化的 ASP.NET 模型和具有单个 Jquery Ajax 调用的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22729269/

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