这是我的表单代码
html += `</div>
<div class="card-footer">
<form id="messageSendDashboardGroup" enctype="multipart/form-data">
<div class="image-upload">
<div class="input-group" >
<input type="hidden" name="id" value="${id}" />
<input type="hidden" name="name" value="${name}" />
<input type="hidden" name="prefix" value="${prefix}" />
<input type="text" name="message" class="form-control">
<span class="input-group-append">
<label for="file-input" style="margin-bottom: 0px;">
<span class="input-group-text" style="height: 100%;"><i class="fa
fa-upload"></i></span>
<span><input id="file-input" type="file" name="image"></span>
</label>
<button type="submit" class="btn btn-danger">Send</button>
</span>
</div>
</div>
</form>
</div>`;
$('.empChatMessagesShowHere').append(html);
它将生成表格
$('#messageSendDashboardGroup').on('submit', function (e)
{
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: base_url + 'dashboard/image_api',
data: formData,
type: 'post',
cache: false,
contentType: false,
processData: false,
success: function (data)
{
console.log(data);
}
});
在我的控制器中,调试$ _FILES返回的空数组
function image_api()
{
debug($_FILES);
}
Array
(
[image] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)
)
我已经尝试了很多方法,但是仍然得到一个空的$ _FILES数组,请给我帮助,我正在使用此表单上传图像。
答案 0 :(得分:-1)
我只需将代码更改为此即可,
html += `</div>
<div class="card-footer">
<form id="messageSendDashboardGroup" enctype="multipart/form-data">
<div class="image-upload">
<div class="input-group" >
<input type="hidden" name="id" value="${id}" />
<input type="hidden" name="name" value="${name}" />
<input type="hidden" name="prefix" value="${prefix}" />
<input type="text" name="message" class="form-control">
<button type="submit" class="btn btn-danger">Send</button>
<input type="file" name="image" class="mt-2" />
</div>
</div>
</form>
</div>`;
$('.empChatMessagesShowHere').append(html);
在我现在使用输入前缀按钮进行文件上传之前,我正在使用默认文件上传按钮,并且可以正常工作。