0

私のコードは以下の通りです

意見

<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経由の場合もあります)、すぐに表示してから送信し、画像名と名前でユーザーテーブルにデータを挿入します。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

質問を読み違えていたら申し訳ありませんが、これは、アップロードする前に画像をプレビューする方法を尋ねる非常に長い方法のように思えます。これは、アップロードを行う前にそれを行う方法です。その後、送信時にデータベースのものと一緒に実際の画像のアップロードを行うことができます。

HTML

 <img id="preview_img" src="" />
 <input id='img_upload' type="file" name="userfile" />

Jクエリ

$('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]);
    }
});
于 2013-01-05T19:22:26.947 に答える