当我尝试将图像上传到我的上传文件夹时,出现以下错误:数组([错误] => 您没有选择要上传的文件。)我的看法:<form action="<?=base_url('create_public_profile_job') ?>" class="create-profile-form" method="POST"> <input type="file" name="userfile" size="20000" /> <button type="submit" class="create-profile-button">Submit</button></form>我的控制器public function create_public_profile_job(){ if(isset($_POST['userfile'])) { $this->User_model->do_upload($_POST['userfile']); }}我的模型public function do_upload($userfile){ $this->load->helper('form'); $this->load->helper('url'); $config['upload_path'] = 'assets/uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 1000000; $config['max_width'] = 10240000; $config['max_height'] = 7680000; $this->load->library('upload', $config); if ( ! $this->upload->do_upload($userfile)) { $error = array('error' => $this->upload->display_errors()); print_r($userfile); print_r($error); } else { $data = array('upload_data' => $this->upload->data()); print_r($data); }}模型部分来自 Codeigniter 用户指南https://codeigniter.com/userguide3/libraries/file_uploading.html真的不知道问题出在哪里,因为我通过所有功能传递图像
3 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
所以我想出了我的问题是什么。或者更好的问题。
我的第一个问题是我必须添加到我的表单标签中:enctype="multipart/form-data"
正如其他人已经在评论中指出的那样
我的第二个问题是我必须在我的 autoload.php 文件中添加$autoload['libraries'] = array('database',.., 'upload');
最后但同样重要的是,我更改$this->load->library('upload', $config);
为$this->upload->initialize($config);
不知何故配置无法正确初始化,因此这解决了我的最后一个问题。
慕标5832272
TA贡献1966条经验 获得超4个赞
将视图更改为
<form action="<?=base_url('create_public_profile_job') ?>" class="create-
profile-form" method="POST" enctype="multipart/form-data">
<input type="file" name="userfile" size="20000" />
<button type="submit" class="create-profile-button">Submit</button>
</form>
- 3 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消