2015-11-08 86 views
0

我想打开一个窗体,将采取一个图片(从相机),并将其发送到laravel我的控制器。文件没有发送到控制器

有没有人知道为什么这不起作用?

形式在laravel:

<div style="width: 0; height: 0; overflow: hidden;"> 
    {{ Form::open(array('route' => 'upload_photo', 'files' => true)) }} 
     <input type="file" onchange="this.form.submit();" id="camera_input" name="camera_input" accept="image/*" capture="camera" />    
</div> 
    <button class="btn btn-primary btn-lg normal-font" type="button" onclick="takePicture();">Take Picture And Upload</button> 
    {{ Form::close(); }} 

的Javascript,这将只是简单地打开摄像头/文件选择上点击:

function takePicture() { 
    document.getElementById("camera_input").click(); 
} 

Laravel控制器: 所有我做的是这种尝试看看如果该文件被放在这里:

public function upload_photo() { 
     $file = Input::file('camera_input'); 
     var_dump($file); 
    } 

它得到NUL L打印出来的文件虽然... 任何人都知道我在做什么错了?

+0

手动点击输入,选择图像并提交表单工作? – Streetlamp

+0

它可以工作,但是当它从$ file变量进入'upload_photo'路由时它会打印出NULL,所以我认为它实际上并不工作? –

回答

0

我得到了它显然我的输入类型需要: ENCTYPE =“的multipart/form-data的”

我想有文件=>的形式laravel上真正会做这做那是什么,这是对,但显然它需要在输入类型上。 也许是因为我没有使用laravel的Form :: file()