如何在Codeigniter中处理图像[复制]

hsvhsicv  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(107)

此问题在此处已有答案

Ajax Upload image(6个答案)
6个月前关闭。
在Codeigniter中,我使用ajax将记录添加到(products)中,并且一切正常,因此我决定添加(image)字段,但由于某种原因,它不再向数据库添加任何记录
我将input type=file添加到表单中

<input type="file" name="image">

我把这个加到我的控制器上

$image =    $this->input->post('image');

$data = array('title'=>$title,'description'=>$description,'price'=>$price,'quantity'=>$quantity,'image'=>$image);

但是当我删除$image = $this-〉input-〉post(“图像”);它又开始工作了
以防万一这是我 AJAX 代码

var postData = $(this).serialize();

$.ajax({
type:'post',
url: baseURL+"admin/Products/add_product",
data:postData,
dataType:'json',
  success:function(data){


} 

});

有什么解决的办法吗?

62o28rlo

62o28rlo1#

希望这对您有所帮助:

你的ajax应该是这样的:

var formdata = new FormData();
$.ajax({
    type: 'POST',
    url: baseURL+"admin/Products/add_product",
    data: formdata,
    cache: false,
    contentType: false,
    processData: false, 
    success: function(response)
    {
       alert(response);   
    }
});

在使用$_FILES超变量访问映像的控制器中

public function add_product()
{
   print_r($_FILES);
   print_r($this->input->post());
   exit;
}

Note:确保URL路径正确,请查看网络选项卡以查看输出
更多信息:https://www.formget.com/ajax-image-upload-php/

2uluyalo

2uluyalo2#

可以您可以使用来代替baseURL

var formdata = new FormData();

    $.ajax({
        type: 'POST',
        url: <?=base_url()?>+"admin/Products/add_product",
        data: formdata,
        cache: false,
        contentType: false,
        processData: false, 
        success: function(response)
        {
           alert(response);   
        }
    });

相关问题