2013-12-14 36 views
0

的文件和常见数据尝试使用Codeigniter和Ajax从表单上载图像。我创建了一个表格结构:格式为

<?php 
$config = array('class' => "small-12 columns no-left-margins",'id'=>"form_$i", 'enctype'=>"multipart/form-data"); 
echo form_open_multipart('', $config); 
?> 
<!-- file, text, and text area inputs --> 
<?php 
echo form_close(); 
?> 
<a href="#" class="button tiny right" id="submit" value="upload">Guardar</a> 

Ajax请求是:

$("form").submit(function(e){ 
    e.preventDefault(); 
    var datos = $(this).serializeArray(); 
    $.ajax({ 
     url: 'guardarNuevoProducto', 
     type: 'POST', 
     data: datos 
    }); 

}); 

而控制器动作的代码是:

// uploadPicture_rules is the index of the $config array that contains the picture //validation rules 
$picRules = $this->config->item('uploadPicture_rules'); 

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

if(!$this->upload->do_upload()){ 
    echo json_encode(array('st'=>0, 'msg' => $this->upload->display_errors())); 
}else{ 
    echo json_encode(array('st'=>0, 'msg' => 'Successfully Submiited')); 
} 

而且有下一个文件上传验证规则:

$config['uploadPicture_rules'] = Array(
    'allowed_types' => 'gif|jpg|png', 
    'max_size' =>'100', 
    'upload_path' => '/assets' 
); 

Al L型值核对无误,但file_uploader说:

{ “ST”:0, “味精”: “你没有选择要上传的文件。”}

任何想法? 。我有一个错误的祝贺?

回答

0

form_open()更改为form_open_multipart()

+0

感谢回复,我做了改变,但Ajax请求返回相同的错误。 – ramiromd

+0

http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload可能有帮助 –