gpt4 book ai didi

javascript - CodeIgniter ajax 上传图片(ajax 有效,而不是 CodeIgniter)

转载 作者:可可西里 更新时间:2023-10-31 23:47:55 25 4
gpt4 key购买 nike

我知道如何以传统方式通过 ajax 上传图片。但是,通过 CodeIgniter 的 library upload 我无法弄明白。

但首先,让我告诉你,我根本不使用表格

if(!empty($_FILES)){

$this->load->helper('global_helper');

$config['upload_path'] = base_url() + "public/images/";
$config['file_name'] = randomName();
$config['allowed_types'] = "jpg|png|bmp";
$config['max_size'] = '500';
$config['overwrite'] = FALSE;

$this->load->library('upload', $config);

if(!$this->upload->do_upload()){
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
}

这不起作用,因为我收到以下错误:

Array
(
[error] => <p>You did not select a file to upload.</p>
)

但我确实这样做了,它实际上被上传到了服务器,因为如果我打印出 $_FILES,我会收到:

Array
(
[0] => Array
(
[name] => no_image.png
[type] => image/png
[tmp_name] => C:\xampp\tmp\php1715.tmp
[error] => 0
[size] => 6361
)

)

可能是输入在数组(数组 [0] 中)中的问题?

javascript代码如下:

event.stopPropagation();
event.preventDefault();
var data = new FormData();

if(picture != undefined){
$.each(picture, function (key, value) {
data.append(key, value);
});
}

$.ajax({
url: 'ajax_add',
type: 'POST',
data: data,
cache: false,
processData: false,
contentType: false,
success: function(aux){
console.log(aux);
}
});

我不想使用传统方式,但如果我也有...

谢谢。

最佳答案

不确定是否可行,因为文件上传类被设计为与表单一起使用,但你可以试试这个

$this->upload->do_upload(0);

如果它按照我的想法行事,它将选择 $_FILES 数组的第一项。默认情况下,它会尝试查找此处不存在的 $_FILES['userfile'](这就是您出现错误的原因)。

试一试,我们会看看它是否有效:)

关于javascript - CodeIgniter ajax 上传图片(ajax 有效,而不是 CodeIgniter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24763068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com