【问题标题】:Form Posts Text Inputs But Not File表单发布文本输入但不是文件
【发布时间】:2016-09-17 23:15:57
【问题描述】:

我正在尝试将表单内的文件提交到 Laravel 后端。它发布所有其他文本字段,但不发布文件(当我 dd($request->all()) 时)

<form class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data">

     <input id="item_price" type="item_price" class="form-control" name="item_price" value="">
    <!-- other inputs -->

    <input type="file" id="product_image" name="product_image" onchange="previewImage(this);"/>
    <img id="previewing" src="{{asset('noImage.gif')}}" style="width: 100%; height: 100%" /> 
</form>

item_price 出现在 dd($request-&gt;all()) 上,还看到其他字段,但没有文件输入

当我在提交表单之前使用 jQuery (previewImage) 显示图像时,它会显示照片。但是在我提交表单后,在 Laravel 端它会显示所有其他字段和值,但不会显示任何文件(当我使用 dd($request-&gt;all()) 时。

php.ini 上,max-post-size 为 100M。

   jQuery('#previewing').click(function() {
        uploadImageClicked();
   });

   function uploadImageClicked() {
        jQuery('#product_image').click();
   }

dd($request-&gt;hasFile('product_image') 返回错误

【问题讨论】:

    标签: php html forms laravel post


    【解决方案1】:

    在 Laravel 中(应该在您的问题中标记)它不是 Request 具有其他表单值的类的一部分,它在 file 方法中。

    https://laravel.com/docs/5.3/requests#retrieving-uploaded-files

    $file = $request-&gt;file("image"); 是您要找的。​​p>

    【讨论】:

    • dd($request-&gt;file("image"));dd($request-&gt;file("image")); 都返回 null。 dd($request-&gt;image); 也为空
    • 您的file input 的名称是image .. dd($request-&gt;hasFile('image')) 返回什么?如果输入名称实际上是“图像”,那么该代码 sn-p 将起作用。
    • 对不起,我在 sn-p 上的错误。让我们说它的图像。 dd($request-&gt;hasFile('image')); 现在返回 false .. 仍然不起作用
    • 使用表单的实际代码更新您的问题。
    • 我更新到我的原始代码。 dd($request-&gt;hasFile('product_image')) => 错误。输入名称中的名称为product_imagedd($request-&gt;all());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多