【发布时间】:2018-08-17 15:05:53
【问题描述】:
我有一个表单,可以用来输入数据和上传文件
<form enctype="multipart/form-data" id="form">
<input type="file" id="fileImage" class="fileImage" name="fileImage" >
<button type="submit" id="save" class="save-icon-btn">
Submit
</button>
</form>
Ajax 代码
$("#save").click(function()
{
var form_data = new FormData($('#form')[0]);
jQuery.ajax(
{
type: "POST",
url: "<?php echo base_url(); ?>" + "class/student",
data: form_data,
processData: false,
contentType: false,
success: function(res)
{
console.log(res);
alert(res);
}
});
});
后端代码
$config['upload_path'] = './assets/student/.';
$config['allowed_types'] = 'gif|jpg|png|doc|txt';
$config['max_size'] = 1024 * 8;
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
if (!$this->upload->do_upload('fileImage'))
{
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
else
{
$data = $this->upload->data();
}
我希望再添加一个上传功能,允许用户在同一个表单中为单独的类别再上传一个文件。所以新的形式应该是
<form enctype="multipart/form-data" id="form">
<input type="file" id="fileImage" class="fileImage" name="fileImage" >
<input type="file" id="fileReport" class="fileReport" name="fileReport" >
<button type="submit" id="save" class="save-icon-btn">
Submit
</button>
</form>
对于后端,我将以下代码添加到现有代码中
$config1['upload_path'] = './assets/report/.';
$config1['allowed_types'] = 'gif|jpg|png|doc|txt';
$config1['max_size'] = 1024 * 8;
$config1['encrypt_name'] = TRUE;
$this->load->library('upload', $config1);
$this->upload->initialize($config1);
if (!$this->upload->do_upload('fileReport'))
{
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
else
{
$data = $this->upload->data();
}
但是我无法理解我需要如何更改我的 ajax 代码以便它可以发送数据。
使用更新的表单和后端代码,我无法保存这两个文件。只有 fileImage 被上传,而不是 fileReport。
【问题讨论】:
-
你遇到了什么问题??
-
@Vishnu Bhadoriya 当我使用新表单并使用后端代码两次以及名称更改时,只有一张图片被上传
-
您只发送和处理 1 个文件。您必须发送这两个文件并分别处理它们,因为 codeigniter 上传库一次只做一个。你的逻辑是正确的,你只需要复制它(基本上)。
-
这也是你的问题:stackoverflow.com/questions/49186671/… ...你真的不应该重复问题
-
@Alex 我已经更新了帖子,你给的链接不是我的,但是我正在关注它,因为它和我的情况一样
标签: php ajax codeigniter file-upload upload