我是yii框架的新手,我们在学校有一个关于上传和下载文件的项目,我需要一些帮助......
我完全按照此link作为样本,它确实上传到yii中的uploads文件夹,但现在我试图在我的视图中使用此代码下载它:
$id= $_GET['id'];
$media = Document::model()->findByPk($id);
$path = Yii::app()->basePath . '/../uploads';
$name = $media->doc_file;
Yii::app()->request->sendFile($name, file_get_contents($path."/".$name));
但是当它下载时,它不会打开,因为不支持文件格式......任何想法我怎么能
答案 0 :(得分:0)
我对你的代码做了一些修改。将id传递给视图上的url,这将触发控制器内的下载操作。你应该好好接受这个
public function actionDownload($id)
{
$media = Document::model()->findByPk($id);
$path = Yii::app()->request->baseURL . '/uploads';
$file = $path . '/'.$media->doc_file;
if (file_exists($file)) {
return Yii::app()->getRequest()->sendFile($name, @file_get_contents($path));
}else{
//throw an error here
}
}