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

标签 javascript php jquery ajax codeigniter

我想做的就是使用 ajax 将文件上传到我基于 CodeIgniter 的网站。但是我无法在 Controller 中获取文件字段值。我收到类似“未定义索引:'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>

Javascript:

<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); 
        }  
    });  
} 

Controller :

 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 元素来解决您的问题。

关于javascript - Formdata附加文件上传在codeigniter中不起作用,出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25907387/

相关文章:

php - 如何生成自定义 CSV 导出?

php - 如何使用 PHP ereg_replace 替换所有特定字符?

jquery - 使用 jQuery 将不同数量的具有相同类的 div 分组,直到 "last"类

jquery - Node.js Express jquery ajax 请求不起作用

javascript - 如何使用种子确定性地生成安全的 RSA key ?

javascript - 如何在页面加载时仅显示特定幻灯片

javascript - 如何在 Javascript 组件文件之间导出/导入模块

javascript - 如何使用 jQuery 将多个文件上传到 java Controller

php - Xdebug 不在 Netbeans 中显示 php 变量值或对象结构

javascript - 切换 html() 不起作用