【发布时间】:2014-01-26 13:02:56
【问题描述】:
我正在尝试使用 javascript 和 codeigniter 控制器在我的 codeigniter Web 应用程序中下载文件,它以 ASCII 格式显示文件内容,但不直接下载文件
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);
}
我也尝试过更改路径,但它不起作用...
【问题讨论】:
-
site_url().'/../images/uploads/似乎无效。尝试从/images/uploads/..开始 -
检查是否有任何控制台错误?
-
尝试使用'base_url()'而不是
site_url() -
@Bora 当我使用 site_url().'/../images/uploads/ 并将其打印在变量中时,变量值是完美的,它向我显示了要下载的文件。跨度>
-
@AzamAlvi 我试过了,但没用... :(
标签: php codeigniter download codeigniter-2 force-download