Php 如何使用ajax在CodeIgniter中从动态生成的表单上传图像

Php 如何使用ajax在CodeIgniter中从动态生成的表单上传图像,php,jquery,ajax,codeigniter,codeigniter-2,Php,Jquery,Ajax,Codeigniter,Codeigniter 2,我想使用jqueryajax将图像上传到本地文件夹。复杂的部分是,我有动态生成的表单,对于这些表单和字段,我向其提供id,以显示提交的表单,如下所示。我使用以下代码,但图像没有上传 视图:Upload_View.php save_movie_u这是文件控件的id,$formid显示我们必须从哪个表单和哪个字段获取数据,但由于我是Codeigniter的新手,我不知道如何上传它。还有一件事我想显示进度栏也显示图片上传的进度。请回复。谢谢…您必须按照以下方式修改jQuery ajax函数 va

我想使用jqueryajax将图像上传到本地文件夹。复杂的部分是,我有动态生成的表单,对于这些表单和字段,我向其提供id,以显示提交的表单,如下所示。我使用以下代码,但图像没有上传

视图:Upload_View.php


save_movie_u这是文件控件的id,$formid显示我们必须从哪个表单和哪个字段获取数据,但由于我是Codeigniter的新手,我不知道如何上传它。还有一件事我想显示进度栏也显示图片上传的进度。请回复。谢谢…

您必须按照以下方式修改jQuery ajax函数

   var data = new FormData(document.getElementById("post_video_"+frm_id)[0]);
   jQuery("#progressbar").show(); // add your prgress bar here like this
   jQuery.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>"+"dashboard/do_upload",
        data: data+'&form_id='+frm_id,
        mimeType:"multipart/form-data",
        contentType: false,
        async: false,
        cache: false,
        processData:false,
        dataType: 'json',
        success: function (data) {
            alert("data"+data);
            jQuery("#progressbar").hide(); //hide your loader like this
        },            
    });        
    return false;
var data=newformdata(document.getElementById(“post_video_”+frm_id)[0]);
jQuery(“#progressbar”).show();//像这样在这里添加您的prgress栏
jQuery.ajax({
类型:“POST”,
url:“+”仪表板/do_upload”,
数据:数据+'&表格id='+表格id,
mimeType:“多部分/表单数据”,
contentType:false,
async:false,
cache:false,
processData:false,
数据类型:“json”,
成功:功能(数据){
警报(“数据”+数据);
jQuery(“#progressbar”).hide();//像这样隐藏加载程序
},            
});        
返回false;

谢谢。

谢谢Shyam,但主要的问题是我生成了不同的表单,我必须获取用户上传文件的字段,例如form_id='frm_id'是表单id,我如何在do_upload controller函数中获取它并从中上传图像。正如你在我的问题中看到的,表单和字段的动态id。我如何上传图像或其他档案,是的。您可以在输入提交按钮中使用javascript的onclick事件。e、 g.我正在做的是从这个sendVideoData()代码向我的函数传递id,我也向控制器传递了frm_id,但我在如何上传它方面遇到了问题。你能告诉我如何上传到我的本地文件夹吗?因为我已经搜索了每个地方,但是我没有找到任何关于使用动态生成的表单和字段上传图像的解决方案。
$formid=$_POST['form_id']; 

$filename='save_movie_'.$formid;
$path_parts = pathinfo($_FILES[$filename]["name"]);
$extension = $path_parts['extension'];
$Random_file_name=$filename.".".$extension;
move_uploaded_file($_FILES[$filename]['tmp_name'], "http://localhost/dummy/uploads/".$Random_file_name);
   var data = new FormData(document.getElementById("post_video_"+frm_id)[0]);
   jQuery("#progressbar").show(); // add your prgress bar here like this
   jQuery.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>"+"dashboard/do_upload",
        data: data+'&form_id='+frm_id,
        mimeType:"multipart/form-data",
        contentType: false,
        async: false,
        cache: false,
        processData:false,
        dataType: 'json',
        success: function (data) {
            alert("data"+data);
            jQuery("#progressbar").hide(); //hide your loader like this
        },            
    });        
    return false;