2 回答

TA贡献1770条经验 获得超3个赞
我希望它对你有帮助。我在“文件”文件夹中上传了文件,而不是在存储文件夹中。您只需根据 that.set 您的 content_types 根据您上传的文件进行更改。
我的控制器代码是
public function openPdf(Request $request,$docFile)
{
$file='/var/www/html/laravelQuiz/public/files/'.$docFile;
$extension = explode(".",$docFile);
foreach($extension as $extensions){
if($extensions == 'pdf'){
$content_types = 'application/pdf';
}elseif($extensions == 'doc'){
$content_types = 'application/msword';
}elseif($extensions == 'txt'){
$content_types = 'application/octet-stream';
}elseif($extensions == 'docx'){
$content_types = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
}elseif($extensions == 'ppt'){
$content_types = 'application/vnd.ms-powerpoint';
}elseif($extensions == 'odt'){
$content_types = 'application/vnd.ms-powerpoint';
}elseif($extensions == 'txt'){
$content_types = 'text/plain';
}
}
$content = file_get_contents($file);
return Response::make($content, 200, array('content-type'=>$content_types));
}

TA贡献1880条经验 获得超4个赞
您需要提供文件的完整 url。
尝试添加文件扩展名:
$extension = ".png" // or whatever type file is
return Response()->download($file.$idFile.$extension);
保存文件时,您还可以在存储文件时获取扩展名:
$extension = $request->file('file')->extension();
- 2 回答
- 0 关注
- 232 浏览
添加回答
举报