如何在Codeigniter中下载文件? [英] How can I download file in codeigniter?

查看:124
本文介绍了如何在Codeigniter中下载文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用javascript和codeigniter控制器在我的codeigniter Web应用程序中下载文件,它以ASCII格式显示文件内容,但不直接下载文件

I am trying to download file in my codeigniter web application using javascript and codeigniter controller, it shows the file contents in ASCII format but not download the file directly

view.php

<a href="javascript:prd_download(this)">Download</a>

<img src="<?php echo site_url()."/../images/uploads/".$jobno."/thumb_".$prd_row->filename; ?>" alt="Loading Image..." >

<input type="checkbox" name="img_check" id="img_check" class="img_check" image="<?php echo $prd_row->filename ?>">


<script type="text/javascript">
function prd_download(ele)
{   
    var selected_images = $(".img_check:checked");

    var job_no = $("#product_table").attr("jobno");

    var image_name = new Array();

    for(i = 0; i < selected_images.length; i++)
    {
        image_name[i] = $(selected_images[i]).attr('image');
    }

        $.get('<?php echo site_url('project_controller/file_download') ?>', {file_name : image_name, jobno : job_no});
}
</script>

controller.php

function file_download()
    {
        $url_para = $_GET['file_name'];
        $job_no = $_GET['jobno'];
        $this->load->helper('download');
        $data = file_get_contents(site_url().'/../images/uploads/'.$job_no."/".$url_para[0]);
        $name = 'myphoto.jpg';

        force_download($name, $data);
}

我也尝试过更改路径,但是它不起作用...

I had tried by changing path also, but its not working...

推荐答案

我在JavaScript中进行了更改

I made changes in my javascript

<script type="text/javascript">
function prd_download(ele)
{   
    var selected_images = $(".img_check:checked");

    var job_no = $("#product_table").attr("jobno");

    var image_name = new Array();

    for(i = 0; i < selected_images.length; i++)
    {
        image_name[i] = $(selected_images[i]).attr('image');
    }

        window.location.href = "<?php echo site_url('project_controller/file_download') ?>?file_name="+ image_name +"&jobno="+ job_no;
}
</script>

在javascript中,我直接调用了控制器,导致 $。get 函数像回调一样对待...

In javascript I called controller directly, cause $.get function treat like call back...

现在可以正常工作了!! :):D

Now its working fine...! :) :D

这篇关于如何在Codeigniter中下载文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆