1. 程式人生 > 實用技巧 >laravel實現上傳圖片並在頁面顯示的例子

laravel實現上傳圖片並在頁面顯示的例子

1:上傳圖片

public function updateFeedbackImg(Request $request)
  {
    $bool = false;
    $upload_file = $request->file("pic");
    if ($upload_file->isValid()) {
      $realPath = $upload_file->getRealPath();
      $bool = Storage::disk('feedback')->put($request->get('id') . '.png', file_get_contents($realPath));
    }
    if ($bool == true) {
      $company = CompanyState::find($request->get('id'));
      $company->picpath_ = $request->get('id') . '.png';
      $company->save();
      return '{"statusCode":"200", "message":"上傳成功", "navTabId":"uploadFeedbackImg", "forwardUrl":"evaluation/queryCompanyFeedback/' . session('plan_id') . '",
"callbackType":"forward"}';
    } else {
      return '{"statusCode":"300", "message":"上傳失敗","callbackType":"closeCurrent"}';
    }
  }

2:html

 <img src="{{ url('evaluation/showImage/'.$company->picpath_) }}"
     οnclick="this.width+=500;this.height+=500; javascript:window.open(this.src);"
     style="cursor:pointer; width: 500px; height: 800px;border:1px solid #000000"
     name="photopath"/>

3:設定對應的路由

Route::group(['prefix' => 'evaluation'], function () {
  //檢視圖片
Route::get('/lookthrough/{company_id}', 'EvaluationController@lookthrough');
//放大圖片
Route::get('/showImage/{src}', 'EvaluationController@showImage');
});

4:顯示圖片

 public function lookthrough($company_id)
  {
    $company = CompanyState::getRecordById($company_id);
    return view('panels.EvaluationManagement.FeedbackInfo.FeedbackImg', ['company' => $company[0]]);
  }
 public function showImage($src)
  {
    $path = storage_path() . '/feedback/' . $src;  //獲取圖片位置的方法
    return response()->file($path);
  }

以上這篇laravel上傳圖片顯示就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援碼農教程。