您好我是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表。请帮帮我。提前谢谢
答案 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
部分实际帮助我找到了错误。