【问题标题】:Input type file is sending data as text输入类型文件以文本形式发送数据
【发布时间】:2020-05-07 20:40:57
【问题描述】:

我有以下简单的视图文件:-

<form action="{{route('testupdate')}}" method="POST">
    {{csrf_field() }}
    <input type="file" name="avatar" >
    <input type="submit">
</form>

在控制器文件中,我假设接收文件类型输入,但我只是将图像名称作为文本获取:-

public function teststore(Request $request){
        dd($request->all());
        //returned array:2 [▼
        // "_token" => "jFPlhBHXP9jLXCJkrlDg62wR8eVaiBJgEnTD8wBZ"
        //"avatar" => "2.png"

       dd($request->has('avatar'));
       // returned true

       dd($request->hasFile('avatar');
       //returned null (Although the input type is "file")
  } 

请指教

【问题讨论】:

    标签: php html laravel-5


    【解决方案1】:

    尝试使用

    <form action="{{route('testupdate')}}" method="POST" enctype="multipart/form-data">
    

    【讨论】:

      【解决方案2】:

      您需要在输入字段中包含标签enctype="multipart/form-data"。每当您使用文件上传时,此标记都是必需的

      【讨论】:

        猜你喜欢
        • 2012-03-12
        • 2014-04-21
        • 2015-09-19
        • 1970-01-01
        • 1970-01-01
        • 2014-11-11
        • 1970-01-01
        • 2021-02-22
        • 1970-01-01
        相关资源
        最近更新 更多