javascript-Formdata附加文件上传在Codelgniter中不起作用,出现错误

要做的就是使用ajax将文件上传到我基于CodeIgniter的网站上.但是我无法在控制器中获取文件字段值.我收到诸如“未定义索引:’file_1’”之类的消息

如何解决这个问题?

形成

<form method="post" enctype="multipart/form-data">
 <input type="file" id="file_1" name="file_1" value="" class="field1" /> 
 <input type="button" onclick="up_img()" value="Upload" /> 
</form>

字幕:

<script type="text/javascript">
function up_img()
{   
   formdata = false;
    var imgfile = document.getElementById("file_1"); 
    formdata = new FormData(); 
    formdata.append("file_1",imgfile.files[0]);
    $.ajax({  
        url: "<?PHP echo base_url(); ?>index.PHP/save_project_upload/",  
        type: 'POST',   
        data: formdata,
        processData: false,
        contentType: false,
        success: function (data) {  
                alert(data); 
        }  
    });  
} 

控制器:

 function save_project_upload()
 {

echo $upfile_name           =       $_FILES['file_1']['name'];

 }

解决方法:

如果执行print_r($_FILES),会得到任何内容吗?

另外,请注意,IE8和更早版本不支持功能.

您也可以尝试执行以下操作:

var formData = new FormData($('#yourformID')[0]);     

编辑:

formData.append('file_1', $('input[id="file_1"]')[0].files[0]); 

通过将[0]添加到DOM元素,也可以解决您的问题.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...