无法通过Codeigniter中的Ajax上传图像

时间:2016-01-08 12:13:21

标签: php jquery ajax codeigniter codeigniter-2

我正在使用Jquery Ajax在Codeigniter中上传图像,但问题是图像没有上传我收到警报禁止键字符.Below是我正在使用的模型和视图。

  

查看:

$("#upload_course_img").on('submit',function(e){
    e.preventDefault();

 $.ajax({
    url: "<?php echo base_url();?>upload_course_image/upload_img",
        type: 'POST',
        cache: false,               
    data: new FormData(this),
        processData:false,

        success: function(data){
         alert("data:"+data);


       },
    error: function(){                      
    alert('Error while request..');
    }
   });
});

<form  method="post" id="upload_course_img" enctype="multipart/form-data"> 
<input type="file" name="course_img"/>
<input type="submit" name="submit" value="Save" id="submit-id-submit"/> 
</form>

型号:

public function upload_img()
{
  if($this->input->post('course_img')) {  

  $config['upload_path'] = './uploads/';
  $config['allowed_types'] = 'gif|jpg|png|jpeg';
  $config['max_size'] = '10000';
  $config['max_width']  = '1024';
  $config['max_height']  = '768';

  $this->load->library('upload', $config);

  if (!$this->upload->do_upload())
  {

  } 
  else
  {


  }
  }
}

3 个答案:

答案 0 :(得分:1)

这是使用AJAX http://malsup.com/jquery/form/#file-upload

上传文件的另一个选项

答案 1 :(得分:0)

试试这个

//Program a custom submit function for the form
$("form#data").submit(function(event){

  //disable the default form submission
  event.preventDefault();

  //grab all form data  
  var formData = new FormData($(this)[0]);

  $.ajax({
    url: 'formprocessing.php',
    type: 'POST',
    data: formData,
    async: false,
    cache: false,
    contentType: false,
    processData: false,
    success: function (returndata) {
      alert(returndata);
    }
  });

  return false;
});

答案 2 :(得分:0)

如果您真的想使用AJAX上传图片,请使用send这将真正让您的生活变得轻松

查看 Dropzone.js 网站

您只需要实例化Dropzone JS.对象并设置选项

dropzonejs