Laravel 4输入文件在发布后返回空...为什么?

时间:2014-11-28 17:11:30

标签: javascript php jquery html laravel

Laravel 4输入文件在发布后返回空...为什么?

刀片文件中的html代码

<div id='images'>
<input type='hidden' id='imagescounter' name='imagescounter' value='1'>
<input type='file' id='image_1' name='image_1' class='col-md-12' onchange='$("#task").val("uploadtotemp");$("#temp_count").val(1);$("#addbirdfrm").submit();' >
</div>
<?php
    $image = asset("images/controls/previewbird.png");
?>
<a href='#' onclick='addimageinput($("#imagescounter").val(),"{{ $image }}");return false;' id='addimageinput'><span class="glyphicon glyphicon-plus-sign top-1" aria-hidden="true"></span> </a>
<div id='previews'>
<input type='hidden' name='temp_count' id='temp_count' value=''>
<img id='preview_1' name='preview_1' src='{{ asset("images/controls/previewbird.png") }}'>
</div>

和jquery在同一个文件中

$("#addbirdfrm").submit(function(e){
         if($('#task').val() == 'uploadtotemp'){
            $('#preview_'+$('#temp_count').val()).attr('src','{{ asset("images/controls/loading_facebook.gif") }}');
            var dataString = $('#addbirdfrm').serializeArray();
            e.preventDefault();
            var token =  $("input[name=_token]").val();
            $.ajax({
                type: "POST",
                url : "{{ URL::route('get-temp') }}",
                data : dataString,
                success : function(data){
                    //$('#date').val(data);
                    alert(data);
                }
            },"json");
            return false;
        }
    });

并在控制器文件中

public function postGetTemp(){
        return Input::file('image_1')->getClientOriginalName();
}

为什么此代码返回空数据?

将控制器代码更改为

时,

和数据返回0

public function postGetTemp(){
        return 0;
}

那么为什么Input :: file('image_1')没有返回数据? 感谢

1 个答案:

答案 0 :(得分:0)

Input::file()Symfony\Component\HttpFoundation\File\UploadedFile对象,不是可打印元素。使用var_dump()dd()进行阅读。