2016-06-09 155 views
0

查看:Laravel 5文件和圖片上傳

<input type="file" name="photo"> 
<button class="btn">Send</button> 
<input type="submit" value="send"> // I tested by input and button but it also does not work 

控制器:

$f = $request->file("photo"); 
if($f->isValid()){ 
    echo "upload" 
    $f->move("/public/upload/file.png"); 
}else{ 
    echo 'not upload'; 
} 

錯誤:

Fatal error: Call to a member function isValid() on null 

我不知道爲什麼,但我不能這樣做上傳圖像到現場。我嘗試了很多方法,但沒有任何工作。通過請求發送文件並獲取錯誤,我嘗試使用Request :: file('photo')或Input :: file('photo') - > isValid(),但它不起作用。

var_dump($request->file('prod_photo')); 

如果將在響應中使用這種代碼獲取NULL

編輯:

$f = $request->file('photo'); 
if ($f->isValid()) { 
      $ext = $f->getClientOriginalExtension(); 
      $org_name = $f->getClientOriginalName(); 
      $r = rand(11111,999999); 
$f->move("public/uploads", $r.$org_name); 
    // 
} 

我怎樣才能改變圖像大小,並檢查文件是否是肯定的圖片?

回答

2

添加enctype="multipart/form-data"到窗體

編輯:

您可以輕鬆地驗證檢查,像這樣:

$this->validate($request, [ 
    'photo' => 'required|image' //works for jpeg, png, bmp, gif, or svg 
]); 

Unfortunelyü不能改變圖像大小與本地的PHP(如我知道),你需要使用ImageMagick,GDGlide(它需要以前的一個)

+0

如何更改圖像大小並檢查文件是否爲圖片?我改變了問題並添加了代碼,你可以檢查它嗎? – bradley546994