2014-09-25 74 views
0

所以基本上我試圖下載一個文件。CakePHP下載文件錯誤

我有行動:

public function getfile() { 
     $this->autoRender = false; 
     $accesskey = 'mrPQVeJF8VFXpSq'; 
     $data = $this->File->find('first', array('conditions' => array('File.accesskey =' => $accesskey))); 

     $filepath = substr($data['File']['path'], 17); 

     $this->response->file($filepath, array('download' => true, 'name' => $data['File']['name'])); 

     return $this->response; 
    } 

,這將引發一個錯誤:(我猜有$行這個 - >響應 - >文件())

Fatal Error Error: Class 'File' not found File: C:\wamp\www\project\lib\Cake\Network\CakeResponse.php Line: 1347

回答

1

File是一種Utility of cake。所以,將它用作模型可能會給你帶來麻煩。我建議你改變它。閱讀更多關於儲備蛋糕和php文字here。這可能是你錯誤的原因。

而該錯誤的另一個原因是,你不在FilesController中,並試圖在那裏調用Find模型。對於閱讀如何從其他控制器的負荷模型(尋找ClassRegistry::init$this->loadModel()

我只是猜測這裏,因爲你是「猜測線給人麻煩的是$this->response->file()」。你可能會得到,如果你更準確的響應不要猜測和調試到底是哪一行給你的錯誤。