2015-11-08 90 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()