在网站laravel上传.docx文档时显示空白页面

时间:2016-09-23 08:28:13

标签: laravel-5 uploading

您好我是laravel的新手并且仍在学习它,我遇到了不同的问题和问题,我无法找到解决问题的方法。很久以来我一直坚持这个。任何帮助将不胜感激。

问题

每当我将.docx文件上传到我的网站时,我都会得到一个没有任何错误或没有该docx文件内容的空白页面。我不知道问题是什么。请帮帮我。

代码

   public function getUploadedFile() {

     // $destinationPath = 'uploads';
    // $path= public_path()."/". $destinationPath;

    // $content = utf8_encode(File::get('/var/www/html/asad/File-Uploader/public/uploads/detailed_period_report_template.xls'));
    // return view('/files', compact('path'));


    $file = $this->request->file('file_name');
    $file_name = $this->request->file_name;

    if (File::isFile($file_name))
    {
        $file_name = File::get($file_name);
        $response = Response::make($file_name, 200);
         $content_types = [
            'application/octet-stream', // txt etc
            'application/msword', // doc
            'application/vnd.openxmlformats-officedocument.wordprocessingml.document', //docx
            'application/vnd.ms-excel', // xls
            'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', // xlsx
            'application/pdf', // pdf
        ];
        // using this will allow you to do some checks on it (if pdf/docx/doc/xls/xlsx)
       $response->header('Content-Type', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');

        return $response;
    }

我对此没有任何看法。我需要一个吗?如果是的话会是什么样的,因为每个docx文件都有它的一组属性,比如字体,大小等,不像我们刚定义列的excel表。请帮帮我。提前谢谢

1 个答案:

答案 0 :(得分:0)

经过这么久的终结,我终于弄明白了。

发送" null"因为我现在所做的是从数据库而不是存储获取文件名,然后比较它,如果该文件在存储和数据库中,然后打开它。下面是我现在运行的代码。 感谢@MATEY的所有帮助,但

        $upload = new Upload;

        $file= public_path(). "/uploads/" . $upload->file_name = $this->request->file_name;
        //dd($file);

        $files = File::get($file);
        $response = Response::make($files, 200);

并将内容类型更改为$response->header('Content-Type', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');

感谢大家的帮助@MATEY。您给了我修复它的动机以及else{...}条件中遗失的if部分实际帮助我找到了错误。