Принудительная загрузка Codeigniter перенаправляет в браузер вместо загрузки файла - PullRequest
0 голосов
/ 04 октября 2018

У меня есть несколько изображений, и каждое изображение имеет ссылку.Когда я нажимаю на изображение, открывается одно всплывающее окно, и в этом всплывающем окне я отображаю данные в формате таблицы.В этой таблице есть ссылка для скачивания.Когда пользователь нажимает на ссылку для скачивания, файл должен быть загружен. Это было мое требование.Ниже моя функция контроллера, чтобы открыть всплывающее окно и отобразить данные в таблице.

public function viewCommunication()
{
$post_data = $this->input->post();
$c_id = $post_data['c_id'];
$m_id = $post_data['m_id'];
$this->db->where("(c_id IN($c_id) AND mentee_id IN ($m_id))");
$query = $this->db->get('upload_checklist');
$checklist_data =  $query->result();
$data['viewchecklist_data'] = json_decode(json_encode($checklist_data),TRUE);
$data4 = "";
$data4.='<table class="table table-bordered table-striped">
   <thead>
      <tr>
       <th>Initial Meeting</th>
       </tr>
        </thead>
    <tbody>';
foreach($data['viewchecklist_data'] as $key=>$value){
$download_link = 'MyController/downloadFile($value['initial_meeting'])';
$data4.='<tr>
   <td><a href='.$download_link.'>'.$initial_meeting.'</a></td>
  </tr>';
   }
$data4.='</tbody> </table>';
echo $data4;
}

// Функция для загрузки

public function downloadFile($file_name)
    {
        $this->load->helper('download');
        $path = base_url().'upload/files/'.$file_name;
        force_download($file_name,$path);
    }

Но Когда я нажимаю на ссылку для скачивания, ссылка для скачивания собираетсяна URL браузера вроде http://localhost/project/mycontroller/downloadFile(filename.doc) вот так.Где я делаю не так?Любая помощь будет принята с благодарностью.

...