2017-07-16 38 views
1

我用笨的MVC框架,我想打,有一个上传图片的形式,并且还保存在输入类型输入的数据在一个HTML <form>这是为什么我的形象无法上传,当我回声错误会显示这样的错误:上传图像和笨将数据保存到数据库中的一个形式

File cannot be uploadedarray(1) { ["error"]=> string(43) " 
You did not select a file to upload. 

" } 

这是我在视图代码:

<form id="frm_product" class="form-horizontal" method="POST" action="Admin_controls/addProduct"> 
       <div style="position:relative;"> 
        <a class='btn btn-primary' href='javascript:;'> 
         Choose Picture.. 
         <input type="file" style='position:absolute;z-index:2;top:0;left:0;filter: alpha(opacity=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;background-color:transparent;color:transparent;' name="file_source" size="40" onchange='$("#upload-file-info").html($(this).val());'> 
        </a> 
        &nbsp; 
        <span class='label label-info' id="upload-file-info"></span> 
       </div> 
       <br> 
       <div class="form-group"> 
        <label for="cat_name">Product Name: </label> 
        <input type="text" class="form-control" name="prod_name"> 
       </div> 
       <div class="form-group"> 
        <label for="cat_desc">Description: </label> 
        <input type="text" class="form-control" name="prod_desc"> 
       </div> 
       <div class="form-group"> 
        <label for="cat_desc">Price: </label> 
        <input type="text" class="form-control" name="prod_price"> 
       </div> 
       <div class="form-group"> 
        <label for="cat_desc">Category: </label> 
        <select class="form-control" name="prod_cat"> 
         <?php foreach($data as $each){ ?> 
         <option value="<?php echo $each->Category_id; ?>"><?php echo $each->Category_name; ?></option>'; 
         <?php } ?> 
        </select> 
       </div> 
      </form>  

这里是我的javascript提交表单:

function submitProduct() { 
    document.getElementById("frm_product").submit(); 
} 

在我这里控制器是我的代码:

public function addProduct(){ 
     $config['upload_path'] = './assets/uploaded_images/'; 
     $config['allowed_types'] = 'jpg|jpeg|png'; 
     $config['max_size'] = 1024 * 8; 
     $this->load->library('upload', $config); 
     if($this->upload->do_upload("file_source")) { 
      $upload_data = $this->upload->data(); 
      $file_name = base_url().'assets/uploaded_images/'.$upload_data['file_name']; 
      $data = array (
      'Product_name' => $this->input->post('prod_name'), 
      'Product_desc' => $this->input->post('prod_desc'), 
      'Product_price' => $this->input->post('prod_price'), 
      'Category_id' => $this->input->post('prod_cat'), 
      'Product_img' => $file_name 
      ); 
      var_dump($data);  

     } 
     else { 
      echo "File cannot be uploaded"; 
      $error = array('error' => $this->upload->display_errors()); var_dump($error); 
     } 

    } 
+0

你怎么可以提交这种形式? – knizer

+0

@knizer OPSS我忘记了JavaScript的我会编辑自己的帖子 –

+0

在那里你调用这个函数(submitProduct())? – knizer

回答

1

在我看来,你忘了添加enctype="multipart/form-data"到窗体

<form id="frm_product" class="form-horizontal" method="POST" action="Admin_controls/addProduct" enctype="multipart/form-data">

+0

我哪里会增加吗?请帮忙 –

相关问题