2017-02-07 26 views
0

我試圖上傳圖像,雖然每次我提交它的返回,存儲空()錯誤。我已經將表單設置爲enctype =「multipart/form-data」,這沒有幫助。調用成員函數商店()null - laravel 5.4

任何人都可以指向正確的方向嗎?

謝謝。控制器

public function store(Request $request){ 

    $file = $request->file('imgUpload1')->store('images'); 
    return back(); 

} 

形式下面內部

功能:

<form action="/imgupload" method="POST" enctype="multipart/form-data"> 
    {{ csrf_field() }} 
    <div class="form-group"> 
    <label for="imgUpload1">File input</label> 
    <input type="file" id="imgUpload1"> 
    </div> 
    <button type="submit" class="btn btn-primary">Submit</button> 
</form> 

解決的:在輸入字段

+1

添加該代碼有沒有name屬性 – Adam

+0

嗯......這是愚蠢的代表我。謝謝! – Erasersharp

+1

不愚蠢它發生,新鮮的眼睛都是需要的:) – Adam

回答

1

的數據丟失的名稱標籤總是取與在缺少名稱屬性您的表單輸入

更改 <input type="file" id="imgUpload1">

<input type="file" id="imgUpload1" name = "imgUpload1">

,並做一些驗證控制器側這樣

$val - \Validator:make($request->all ,[ 
    'imgUpload1' => 'required', 
]) 

if($val->fails(){ 
    return redirect()->back()->with('message' => 'No file received'); 
}) 
else{ 
    $file = $request->file('imgUpload1')->store('images'); 
    return redirect()->back(); 
} 
0

你得到錯誤,因爲你的存儲功能是不是從你的要求看文件輸入標籤,以解決這個設置「名稱」,只是我在下面做了

<form action="/imgupload" method="POST" enctype="multipart/form-data"> 
    {{ csrf_field() }} 
    <div class="form-group"> 
    <label for="imgUpload1">File input</label> 
    <input type="file" id="imgUpload1" name="imgUpload1"> 
    </div> 
    <button type="submit" class="btn btn-primary">Submit</button> 
</form> 
0

你需要在你的控制器

if ($request->file('imgUpload1') == null) { 
    $file = ""; 
}else{ 
    $file = $request->file('imgUpload1')->store('images'); 
} 
相關問題