【问题标题】:How to upload the pdf or doc file in laravel如何在 laravel 中上传 pdf 或 doc 文件
【发布时间】:2020-06-22 13:09:35
【问题描述】:

我正在尝试在 laravel 制作的网站上上传 pdf 或 doc 文件。这是我的刀片页面。

          <form action="{{ route('file.upload.post') }}" method="POST" enctype="multipart/form-data">
            @csrf
            <div class="row">
                <input type="text" class="form-control-file" name="title" id="title" aria- 
             describedby="fileHelp", placeholder="title">
                <input type="text" class="form-control-file" name="firstName" id="firstName" aria- 
        describedby="fileHelp", placeholder="First Name">
                <input type="text" class="form-control-file" name="lastName" id="lastName" aria-describedby="fileHelp", placeholder="Last Name">
                <input type="text" class="form-control-file" name="isReviewed" id="isReviewed" aria-describedby="fileHelp", placeholder="isReviewed">

                <div class="col-md-6">
                    <input type="file" name="paper" class="form-control">
                </div>

                <div class="col-md-6">
                    <button type="submit" class="btn btn-success">Upload</button>
                </div>

            </div>
        </form>

这是我的控制器

public function fileUploadPost(Request $request)
{
    $request->validate([
        'firstName'=>'required',
        'lastName'=>'required',
        'isReviewed'=>'required',
        'paper' => 'required|mimes:pdf,xlx,csv|max:2048',
    ]);

    $Submission= new Submission;
    $Submission->title= $request['title'];
    $Submission->first_name= $request['firstName'];
    $Submission->last_name= $request['lastName'];
    $Submission->isReviewed= $request['isReviewed'];


  $fileName= time().'.'.$request->paper->extension();
    $old_path = Request::file('paper')->getPathName(); Storage::disk('Paper')->move($old_path, 
     public_path($fileName));
    $Submission->save();
    return back()
        ->with('success','You have successfully upload file.')
        ->with('file',$fileName);

}

我收到一条错误消息 不应静态调用非静态方法 Illuminate\Http\Request::file() 解决这个问题我

使用 Illuminate\Support\Facades\Request

而不是

使用 Illuminate\Http\Request;

但随后我收到一条错误消息,提示我无法使用验证。任何形式的帮助表示赞赏。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    您不需要为此使用外观。您仍然可以使用标准的Illuminate\Http\Request 类。

    要获取文件,您应该使用:

    $request->file('paper')
    

    而不是

    Request::file('paper')
    

    【讨论】:

    • 这有帮助。但我现在收到此错误磁盘 [Paper] 没有配置的驱动程序。
    • 这意味着您正在尝试存储在名为Paper 的磁盘上。检查您的config/filesystems.php 文件。我还建议您阅读相关文档,可以在此处找到 - laravel.com/docs/5.7/filesystem#configuration
    • 我尝试使用符号链接,以便可以公开显示存储文件夹。但我收到一条错误消息,提示 League\Flysystem\FileNotFoundException File not found at path: C:/xampp/tmp/phpD800.tmp
    猜你喜欢
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2014-03-21
    • 2012-07-21
    • 1970-01-01
    相关资源
    最近更新 更多