我是codeigniter的新手,並試圖上傳form
和file
字段。我成功地將沒有file
的表單數據插入數據庫。但它顯示如下錯誤,當我嘗試用文件中的字段使用ajax將圖像上載到codeigniter中的圖像
`<p>You did not select a file to upload.</p>`
我嘗試過很多辦法像https://www.daniweb.com/web-development/php/threads/477646/codeigniter-upload-form-with-ajax和CodeIgniter, Jquery Ajax, Form Submission and File Upload
但沒有什麼幫助了我。我的文件是(相關的文件上傳領域)。請幫我.. Thanku提前
view_add_author.php
<?php
$this->load->helper('form');
echo form_open_multipart('admin/form_actions/add_author', 'id="add_author_form"');
?>
<div class="form-group">
<label for="author_image">Image</label>
<input type="file" name="author_image" id="author_image">
<p class="help-block">Format(jpg, jpeg, gif, png)</p>
</div>
custom.js
function add_author(data){
return $.ajax({
url: url+'admin/form_actions/add_author',
type: 'POST',
async: false,
dataType: 'json',
mimeType:"multipart/form-data",
data: data
});
}
$('#add_author_form').submit(function(e){
e.preventDefault();
var data = $('#add_author_form').serialize();
add_author(data).done(function(data){
if(data.msg != '')
{
$('#add_author_form')[0].reset();
alert(data.msg);
}
else if(data.error != '')
{
alert(data.error);
}
});
});
form_actions.php
public function add_author()
{
$this -> load -> helper ('form');
$config = array (
'upload_path' => './images/author/',
'allowed_types' => 'gif|jpg|jpeg|png',
'max_size' => '2000',
'max_width' => '2000',
'max_height' => '2000',
'encrypt_name' => true,
);
$this -> load -> library ('upload', $config);
if (! $this -> upload -> do_upload ('author_image'))
{
echo $error = $this -> upload -> display_errors();
}
else
{
echo $data = $this -> upload -> data();
}
}