我已在服务器上传文件,我想点击按钮下载。但我尝试使用以下代码,它只适用于图像文件。不适用于其他扩展程序,如pdf,xlsx,txt,docx等。我该怎么做才能下载所有扩展程序。
这是我的观看代码。
<a href="{base_url('CustomerInformDetailEditController/fileDownload/')}{$row->file_path}{$row->file_name}">Download</a>
这是我的控制器代码。
function fileDownload(){
$this->load->helper('download');
$filename = urldecode($this->uri->segment(5));
$filepathName = file_get_contents(base_url(). $this->uri->segment(3) . "/" . $this->uri->segment(4) . "/" . $filename);
echo $filepathName;
force_download($filename, $filepathName);
}
答案 0 :(得分:1)
英语不是我的母语。
我认为,如果你的href链接是正确的,并且如果你将下载属性添加到你的视图中,它就会起作用。
<a href="{base_url('CustomerInformDetailEditController/fileDownload/')}{$row->file_path}{$row->file_name}" download>Download</a>
有关下载属性的信息,请参阅w3c documentation。
如果我的问题不起作用,请查看href的一面。
如果你有很多文件需要管理,我建议创建一个&#34; document_model&#34;对于bdd中的商店文档信息,并创建一个upload_document库来操作它们。
如果您阅读the documentation有关它,您会看到第二个参数是数据文件内容而不是filePathName,但您应该重命名变量。