当前位置: 首页 > 知识库问答 >
问题:

如何在laravel中上传pdf或doc文件

陆沈浪
2023-03-14

我正在尝试将pdf或doc文件上传到由laravel组成的网站上。这是我的刀片页面。

          <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);

}

我得到一个错误说非静态方法Illumate\Http\Request::file()不应该被静态调用来修复这个问题

使用照明\支持\外观\请求

而不是

使用照明\Http\Request;

但是后来我收到一个错误,说我不能使用验证。任何形式的帮助都将不胜感激。

共有1个答案

尉迟跃
2023-03-14

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

要获取文件,应使用:

$request->file('paper')

而不是

Request::file('paper')
 类似资料:
  • 我无法在Laravel 5中上载excel文件。 我有以下错误: VerifyCsrfToken中的令牌不匹配异常。php行 看法 控制器 当我尝试上传txt文件时,一切都好,但Excel文件不行。 有什么想法吗? 可能是nginx的问题: 2015/12/09 19:30:32[错误]24145#0:*1233663 FastCGI在标准中发送:“PHP消息:PHP警告:请求(正文)文件:打开(

  • 问题内容: 有很多关于使用go 发布文件的教程,但是几乎总是以这样的方式开始: 也就是说,您将整个文件读入内存,然后将其转换为并将其传递给请求,如下所示: 如果您想发布海量文件并避免将其读取到内存中,而是将文件分块蒸出……您将如何做? 问题答案: 如果需要设置,可以手动完成。以下代码段是将文件和其他参数作为流上传的示例(基于Golang中无缓冲区Multipart POST的代码 )

  • 问题内容: 作为Django的新手,我很难在Django 1.3中制作上传应用程序。我找不到任何最新的示例/代码段。有人可以发布最少但完整的(模型,视图,模板)示例代码来这样做吗? 问题答案: ew,Django文档确实没有很好的例子。我花了2个多小时来挖掘所有内容,以了解其工作原理。有了这些知识,我实现了一个项目,该项目可以上传文件并将其显示为列表。要下载该项目的源代码,请访问https://g

  • 问题内容: 我试图在数据库表的一行中上传多个图像并在显示页面中访问它们。我已经尝试过本教程: laraveldaily.com/upload-multiple- files-laravel-5-4/, 但是有两个不同的表建立关系。 我希望这在单个表中发生。 问题答案: 这是最适合我的: 首先以您的形式执行此操作: 这是多项选择: 现在在您的控制器中执行以下操作: 希望这行得通

  • 1.引入js文件 在页面中引入: var fileApi = require("$UI/system/components/justep/docCommon/fileApi"); 2.调用fileApi的browse方法 打开本地文件,例: var url = require.toUrl("./file/abc.docx"); var name = "abc"; fileApi.bro

  • 我想做一个表单上传一个文件,一个excel文件,这是我的html 还有php 但我一直在 我试过用$file-