在这个问题上挠头太久了:使用 jquery.form,( http://malsup.com/jquery/form ) 和 PHP ...我$_FILES['someimage']
已设置但错误号始终是UPLOAD_ERR_NO_FILE
,大小也是 0。
JavaScript:
$('form input[type=file]').change(function () {
$(this).clone().appendTo('#imgform');
$('#imgform').ajaxForm();
$('#imgform').ajaxSubmit({
type: 'POST'
});
});
附加到:
<form id="imgform" method="POST" action="/api/images.php" enctype="multipart/form-data"></form>
从另一种具有沼泽标准文件输入的形式。
PHP 日志是干净的,但var_dump
ing $_FILES 总是显示索引设置为表单元素的名称......但没有数据。
多谢你们!(对不起,我知道类似 jQuery 的问题在这些部分太频繁了)。
编辑 我发现在 Javascript 中克隆一个文件输入元素,其中包含更多信息和建议的替代方案。
我决定做的是为非 JavaScript 浏览器提供一个单一的表单,而 JavaScript/jQuery 将单一表单分成三种形式:
Head form -> File upload form -> tail form
然后我可以异步发布文件上传,当点击尾部的提交时,将表单粘合到一个 POST 中,因为它们只是文本字段。