2012-08-28 44 views
0

在我的cakephp網頁,我有一個按鈕,用戶點擊,它在服務器上執行一些維護,然後呈現給用戶下載。文件下載是testlogs.gzip,但是當firefox下載選項出現時,它會作爲html文件的文件類型出現。錯誤的文件類型的文件下載 - CakePHP

該文件下載和提取的很好,但我想要的文件類型是正確的。

下面是下載的媒體視圖類:

 //$this->autoRender = false; 
     $this->viewClass = 'Media'; 
     $params = array(
      'id' => 'systemlogs', 
      'name' => 'testsystemlogs', 
      'download' => true, 
      'extension' => 'gzip', 
     // 'mimeType' => 'zip', 
      'path' => DS . 'home' . DS 
     ); 
     $this->set($params); 

我試圖在'mimeType' => 'zip'增加,但沒有奏效。

任何幫助將是偉大的。

由於

更新:我測試的相同的文件上傳和我用螢火蟲來確定內容類型。我唯一關心的文件類型是:application/octet-stream。 所以我想我只需要在媒體類設置中設置此類型,但不知道如何做到這一點。 THanks

回答

2

mimeType必須被指定爲一個關聯數組(擴展 - >類型),在你的情況下這將是array('gzip' => 'application/x-gzip')。 CakePHP將此數組與CakeResponse類中已知MIME類型的內置數組合並。

但是,CakePHP已經知道.gz文件的MIME類型,所以如果它是一個選項,更改文件的擴展名可能是更簡單的解決方案。