php - Codeigniter:无法上传图片(您没有选择要上传的文件)
问题描述
当我尝试将图像上传到我的上传文件夹时,我收到以下错误:
数组( [error] => 您没有选择要上传的文件。)
我的观点:
<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
真的不知道问题出在哪里,因为我通过所有函数传递图像
解决方案
您必须 enctype="multipart/form-data"
在表单中添加标签才能通过表单上传数据。
推荐阅读
- python - Pandas:新列中与前行差异的最大值列表
- ios - 自我调整 UICollectionView `reloadItems(at: IndexSet)` 将在其他部分单元格上调用 `cellForItemAt`
- dart - 为什么属性需要 Dart 中非语法糖初始值设定项的默认值?
- javascript - 不同的javascript方法中的不同正则表达式行为
- flutter - Flame 如何支持 Rive 动画?
- html - 为美国观众使用适当的语言子标签
- php - 如何通过改变捐赠总额来减少现金分配总额
- jenkins-plugins - jenkins 自定义插件 java 代码从从机读取文件
- r - R 如何获取美国市场的最后交易日?
- c# - 如何修复 Assets\Scripts\PlayerController.cs(48,9):错误 CS0103:当前上下文中不存在名称“CheckIfWallSliding”?