【问题标题】:How to upload font file in Laravel如何在 Laravel 中上传字体文件
【发布时间】:2022-01-21 19:00:15
【问题描述】:

我有这样的文件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>

控制器:

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

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    在这一行之前: $request-&gt;file-&gt;store('fonts', 'public'); 像这样获取文件扩展名:

    $file_name = $file-&gt;'pdf_font'.getClientOriginalExtension();

    现在用$file_name存储文件

    【讨论】:

      【解决方案2】:

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

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

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

      猜你喜欢
      • 1970-01-01
      • 2018-01-09
      • 2021-09-15
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 2016-07-24
      • 2019-10-27
      相关资源
      最近更新 更多