繁体   English   中英

Laravel中如何上传字体文件

[英]How to upload font file in Laravel

我有这样的文件font.ttf我需要上传它们

HTML 代码:

<form action="{{ route('admin.settings.pdf.update') }}" method="post" enctype="multipart/form-data">
    @csrf
    <input type="file" name="file" accept=".ttf" required>
    <button type="submit" class="button green">upload</button>
</form>

Controller:

public function updatePdfFont(Request $request)
{
    $request->validate([
        'file' => 'required|file',
    ]);

    // dd($request->all());
    // rename($request->file, "pdf_font.ttf");

    $request->file->store('fonts', 'public');
}

// public disk is a custom one that goes files to public folder

我现在在上传字体时遇到的问题是没有像这样的扩展名wmRey4YaOLaldchlFV1l6GQylbZArc4xmyy2tXnL

我需要的第二件事是如何在上传文件之前重命名文件? 就像我想将文件重命名为pdf_font.ttf

使用 storAs 并为上传文件设置名称

在此行之前: $request->file->store('fonts', 'public'); 得到这样的文件扩展名:

$file_name = $file->getClientOriginalExtension();

现在使用$file_name存储文件

在 web 应用程序中,存储文件的最常见用例之一是存储用户上传的文件,例如照片和文档。 Laravel 使得在上传的文件实例上使用 store 方法存储上传的文件变得非常容易。 使用您希望存储上传文件的路径调用 store 方法:

public function update(Request $request)
{
    $path = $request->file('avatar')->store('avatars');
    return $path;
}

https://laravel.com/docs/8.x/filesystem

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM