我的代码在
下面查看
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="<?php echo base_url();?>index.php/setup_con/add_user_info">
Picture <input name="userfile" type="file" />
Name <input name="name" type="text" />
<input name="" type="submit" />
</form>
控制器
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '800';
$config['max_width'] = '184';
$config['max_height'] = '142;
$this->load->library('upload', $config);
if (!$this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
echo $error;
}
else
{
$data = array('upload_data' => $this->upload->data());
$img = $data ['upload_data']['file_name'];
$data = $this->setup_model->add_user_info($img);
}
模型
$name = $this->input->post('name');
$img = $img
$data = array (
'img' =>$img,
'name' =>$name
);
$this->db->insert('user',$data);
通常我可以做到
基本上,我想首先自动上传图片而不提交(可能是通过ajax)和 立即显示然后我将提交然后插入数据到用户表与图像名称和名称。
请帮助我如何解决这个问题
答案 0 :(得分:2)
很抱歉,如果我误解了你的问题,但这听起来像是一个很长的方式,询问如何在上传之前预览图像。这是在您进行任何上传之前执行此操作的方法,然后您可以将所有图像上传与数据库内容一起上传。
HTML
<img id="preview_img" src="" />
<input id='img_upload' type="file" name="userfile" />
<强> JQUERY 强>
$('body').on("change", "#img_upload", function(event) {
if (this.files && this.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#preview_img').attr('src', e.target.result);
}
reader.readAsDataURL(this.files[0]);
}
});