表单发布文本输入但不是文件

时间:2016-09-17 23:15:58

标签: php html forms laravel post

我正在尝试将表单中的文件提交到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->all())上,也可以看到其他字段,但没有文件输入

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

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

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

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

dd($request->hasFile('product_image')返回false

1 个答案:

答案 0 :(得分:0)

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

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

$file = $request->file("image");正是您要找的。