我正在使用Laravel 4.我允许用户上传一个文件,该文件以编程方式重命名并存储。我也允许他们下载文件,虽然我应该将他们的文件从一些有趣的数字重命名为他们的名字,然后下载它。
我的问题是,如何在下载之前更改文件名?
我的代码:
return Response::download($pathToFile, $name);
当我这样做时,文件以未知格式下载。
答案 0 :(得分:3)
第二个$name
参数需要包含完整的文件名(包括文件扩展名)。 download
方法不会自动检测文件路径中的扩展名并将其附加到名称,因此需要手动完成。这样的事情会起作用:
return Response::download(
$pathToFile,
$name . '.' . pathinfo($pathToFile, PATHINFO_EXTENSION)
);