當我想通過Ajax將圖像傳遞給控制器時,我遇到了一些問題。任何幫助?這是我的代碼LARAVEL 5使用AJAX將圖像發送給控制器
// ROUTE
Route::post('get-image', '[email protected]_image');
//IMAGE.BLADE.PHP
{!! Form::open([ 'id'=>'upload-doc','files'=>true ]) !!}
{!! Form::file('fileupload', ['id'=>'fileupload', 'onchange'=>"this.parentNode.nextSibling.value = this.value" ], null) !!}Browse
<button type="button" id="uploadFile">Upload</button>
{!! Form::close() !!}
// AJAX
action = "<?php echo action('[email protected]_image'); ?>";
$.ajax({
url: action,
type: 'POST',
data: new FormData($("#upload_doc")[0]),
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(data){
alert(data.display);
}
});
//控制器功能get_image()
public function get_image(){
$name = '';
$image = \Input::file('fileupload');
$validator = \Validator::make([$image], ['image' => 'required']);
if ($validator->fails()) {
$name = "FAIL";
}
else{
$name = "SUCCESS";
}
$data = array('display' => $name);
echo json_encode($data);
}
我每次得到的結果都是「失敗」。我究竟做錯了什麼?
感謝快速回復;我試過了,'if(\ Input :: hasFile('fileupload'))',但沒有運氣。我想知道如果控制器實際接收文件。 – JCD
確保你在控制器的使用部分有'use Input; '並刪除輸入:: .... –
我剛剛那樣做。它仍然給我同樣的結果。 – JCD