我想将上传的文件与原始客户端名称一起存储在存储文件夹中。我需要在代码中添加或更改哪些内容?如有任何帮助或建议,我们将不胜感激
这里是我的控制器
public function store(Request $request) {
$path = "dev/table/".$input['id']."";
$originalName = $request->file->getClientOriginalName();
$file = $request->file;
Storage::disk('local')->put($path . '/' . $originalName, $request->file);
}
编辑:我知道如何获取originalClientName。问题是使用原始名称将文件存储在文件夹中,而不是哈希名称。它不会存储在原始文件夹中,而是创建一个新文件夹,这是输出"dev/table/101/Capture1.PNG/xtZ9iFoJMoLrLaPDDPvc4DMJEXkRL3R4qWOionMC.png"
我尝试获取的是"dev/table/101/Capture1.PNG"
我已尝试使用StoreAs
或putFileAs
,但方法未定义
5条答案
按热度按时间yyyllmsg1#
我设法弄清楚了如何存储它与一个自定义的名称,对于那些谁想知道如何做到这一点,这里是代码
esbemjvw2#
pod7payv3#
要获取原始文件名,您可以在ControllerClass中使用以下代码:
$file = $request->file->getClientOriginalName();
要获得额外的扩展,您可以使用此Laravel请求方法:
$ext = $request->file->getClientOriginalExtension();
然后,您可以使用以下方式保存:
c0vxltue4#
您可以使用
putFileAs
函数(而不是put
)以默认名称保存存储文件,put
函数允许将第三个参数作为文件名更新
你可以用put来做类似的事情,
yk9xbfzb5#
我试图这样管理;