如何使用ajax提交带有输入文件的表单

Posted

技术标签:

【中文标题】如何使用ajax提交带有输入文件的表单【英文标题】:How to submit form with input file using ajax 【发布时间】:2021-10-19 12:44:29 【问题描述】:

当我通过 Ajax 将 <input type='file' src='D:/.../image.png'> 的 src 发送到视图中的 views.py 时,视图中的 src 不正确,看起来 D:/fakepath/imag.png fakepath 是浏览器制作的一些安全问题但是我如何获取不到文件输入路径的时候可以上传表单的内容吗?

【问题讨论】:

【参考方案1】:

首先你需要将你的 enctyoe 设置为 multipart/form-data 在 django 中,您会在 request.FILES 下找到您的文件,提交表单的最简单方法是使用 js formdata 对象传递数据,它基本上采用整个表单并将其添加到您的 ajax 请求中,以便您可以在 django 中处理它像一个常规形式

【讨论】:

你能提供一个通过ajax发送表单数据的最小例子吗?

以上是关于如何使用ajax提交带有输入文件的表单的主要内容,如果未能解决你的问题,请参考以下文章

ajax表单作为FromData提交时如何删除输入掩码?

如何使用 Ajax 提交 Flask-WTF 表单

如何使用 jQuery 提交带有部分只读输入的表单?

如何使用仅带有无名密码字段的登录表单来搜索特定网页,然后将值提交给ajax?与Selenium?

带有单选按钮的 PHP 邮件表单使用 AJAX 发送

如何使用 JavaScript 在没有提交按钮的情况下提交“文件”输入?