为什么我不能在yii1.1中下载文件

h7wcgrx3  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(212)

我正在使用yii1.1,我想实现一个文件上传和下载的功能,但是在我上传了我的pdf文件后,我不能正确下载这个文件,你能告诉我为什么吗?
当我试图下载我上传的文件时,我得到了一个不完整的pdf文件。换句话说,我无法打开我下载的pdf文件。

public function actionDownload(){
    $path = Yii::getPathOfAlias('/yiiroot/trackstar/protected/uploads/')."mypdffile.pdf";

    $upload=new Upload();

    $upload->downloadFile($path);
}

}
公共函数downloadFile($fullpath){

if(!empty($fullpath)){

        header("Content-type:application/pdf"); //for pdf file
        //header('Content-Type:text/plain; charset=ISO-8859-15');
        //if you want to read text file using text/plain header

        header('Content-Disposition: attachment; filename="'.basename($fullpath).'"');

        header('Content-Length: ' . filesize($fullpath));

        readfile($fullpath);
        Yii::app()->end();
    }
    else {return false;}

}

我想正确下载我的pdf文件。

eqqqjvef

eqqqjvef1#

它的工作原理如下所示。

public function downloadFile($fullpath){
        $dir = Yii::getPathOfAlias('application.uploads');
        $filename= $fullpath;

        if(!empty($fullpath)){
            $file = $dir."\\"."$filename";

            header("Content-type: application/pdf");
            header("Content-Disposition: inline; filename=$filename");
            @readfile($file);

            Yii::app()->end();
        }
        else {return false;}

    }

相关问题