$ _FILES返回空字符串

时间:2019-07-12 07:20:52

标签: javascript php jquery

这是我的表单代码

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数组,请给我帮助,我正在使用此表单上传图像。

1 个答案:

答案 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);

在我现在使用输入前缀按钮进行文件上传之前,我正在使用默认文件上传按钮,并且可以正常工作。

相关问题