I have created file uploading function using ajax and codeigniter the problem is that when I am trying to upload an image it is working fine but when I try to upload document or excel file it is giving me null can anybody help me out to fix this issue
here is what error I am getting Array ( [error] => The filetype you are attempting to upload is not allowed.)
Here is my controller
public function post_forum() {
$config['upload_path'] = './assets/uploads/';
$config['allowed_types'] = 'gif|jpg|png|doc|docx|xls|xlsx|pdf';
$this->load->library('upload', $config);
if(!empty($_FILES['post_image']['name'])) {
if (!$this->upload->do_upload('post_image')) {
$error = array('error' => $this->upload->display_errors());
} else {
$dt = $this->upload->data();
$file = $dt['file_name'];
}
} else {
$file = '';
}
$word_dta = $this->input->post('post_dt');
$time_posted = time();
$user_id = $this->basic_model->is_login($this);
empty($this->input->post('group_id')) ? $group_id = '' : $group_id = $this->input->post('group_id');
empty($this->input->post('c_id')) ? $company_id = '' : $company_id = $this->input->post('c_id');
$data_upload = array(
'upload_document' => $file,
'discussion' => $word_dta,
'user_id' => $user_id,
'group_id' => $group_id,
'company_id' => $company_id,
'time_posted' => $time_posted,
'status' => 'Posted'
);
$post_id = $this->basic_model->insertRecord($data_upload, 'forums');
$data = array(
'file_name' => $file,
'data' => $word_dta,
'time_posted' => $time_posted,
'post_id' => $post_id,
'name' => $this->basic_model->getUserData(),
'command' => 'Submit Post'
);
$this->load->view('forum/includes/get_data', $data);
}
This is my html form which I have created in views folder
<form method="POST" action="" id="postform" enctype="multipart/form-data" onsubmit="return false;">
<input type="file" id="imageFieldId" name="post_image" />
<div id="contentbox" contenteditable="true" name="post_dt">
</div>
<input type="submit" id="sb_art" class="btn_v2" value="Start Discussion" />
</form>
This is my ajax call
$(document).ready(function(e) {
$("#postform").on('submit', (function(e) {
$("#load").show();
var form = this;
var formData = new FormData(this);
formData.append('post_dt', $("#contentbox").html());
$.ajax({
url : "http://tfsquare.com/demo/forums/post_forum",
type : "POST",
data : formData,
contentType : false,
cache : false,
processData : false,
success : function(data) {
$("#data_update").prepend($(data).fadeIn('slow'));
$("#contentbox").empty();
$('.no_st').css('display', 'none');
form.reset();
},
complete: function() {
$("#load").hide();
}
});
}));
});