gpt4 book ai didi

jquery - 使用 jquery AJAX 和 FormData 上传文件

转载 作者:行者123 更新时间:2023-12-01 04:46:48 24 4
gpt4 key购买 nike

我正在尝试通过 JQuerys AJAX 方法和 FormData 方法将文件从表单上传到 PHP 服务器。

我使用knockoutJS在按下上传按钮后触发提交操作。

HTML 表单:

<form class="form-horizontal" method="post" enctype="multipart/form-data" data-bind="submit: addNewFile">
<fieldset>
<legend>Add File</legend>

<div class="form-group">
<label for="inputFile" class="col-lg-2 control-label">File</label>
<input type="file" id="inputFile" name="inputFile">
</div>
<div class="form-group">
<button class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>

</fieldset>
</form>

触发的 javascript 代码:

self.addNewFile = function (content){
var formData = new FormData(content[1].files[0]);

$.ajax({
url: '../api/addFile',
type: 'POST',
data: formData,
contenType: false,
processData: false})
}

formData 变量如下所示: /image/jZ06z.png

http 请求如下所示: /image/0Whfe.png

没有文件传输到服务器。内容类型设置为 application/x-www-form-urlencoded 但应为 multipart/form-data。我做错了什么?

最佳答案

FormData 构造函数采用 HTMLFormElement(即表单而不是文件)来添加单个文件,您必须使用 append方法

var formData = new FormData();
formData.append('file',content[1].files[0]);

您还错误地拼写了 contenType,它应该是 contentType,注意 2 个 T 在一起

关于jquery - 使用 jquery AJAX 和 FormData 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28329969/

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