我的 Laravel8 專案有問題。
在我的專案中,用戶可以發布帶有影像的添加。影像很好地保存在資料庫中,但沒有顯示。在我的控制臺上,我確實有 404 錯誤訊息。

這是我的遷移檔案中的代碼:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddColumnImageUrlToOffersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('offers', function (Blueprint $table) {
//store images
$table->string('image_url');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('offers', function (Blueprint $table) {
//drop the columns
$table->dropColumn('image_url');
});
}
}
這是我的布局檔案中的代碼:
<div class="w-1/2 rounded shadow overflow-hidden">
<img class="object-cover w-full h-96" src="{{asset($offer->image_url)}}" alt="如何解決 Laravel 8 上的影像添加問題?" srcset="">
</div>
謝謝你的幫助
uj5u.com熱心網友回復:
如果您要包含控制器檔案,我可以為您提供更多資訊,但通常,當您通過控制器保存檔案時,它通常會保存在公共目錄的存盤檔案夾中。簡單來說,您可能需要執行以下操作:
<img class="object-cover w-full h-96" src="{{asset('/storage/' . $offer->image_url)}}" alt="如何解決 Laravel 8 上的影像添加問題?" srcset="">
如果這不起作用,請使用控制器代碼更新帖子,以便我們檢查您如何存盤影像。如果您喜歡冒險,請隨時查看公共目錄上的存盤檔案夾,看看您是否可以找出合適的 url 應該是什么
uj5u.com熱心網友回復:
這是我的控制器代碼:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Offer;
use Illuminate\Support\Facades\Auth;
class OffersController extends Controller
{
//fetch the offers
public function index()
{
$offers=Offer::orderBy('created_at', 'desc')->paginate(16);//return a collection ordered by date
return view('offers')->with('offers', $offers);
}
//fetch own Offers
public function showOwnOffers()
{
$offers = Offer::where('user_id', Auth::id())->orderBy('created_at', 'desc')->get();
return view('dashboard')->with('offers', $offers);
}
//Fetch an offer by id reset
public function show($id){
$offer=Offer::find($id);
return view('offer')->with('offer', $offer);
}
//Store products info on the database
public function store(Request $request) {
echo "Inside OffersController , store()";
//validate the inputs
$request->validate([
'title' =>'required',
'city' => 'required',
'people' => 'required',
'desc-full' => 'required',
'rent'=> 'required | numeric',
'img' => 'required'
], [
'title.required' => 'Saisissez un titre',
'city.required' => 'Saisissez une ville',
'people.required' => 'Saisissez le nombre de collocataires',
'desc-full.required' => 'Décrivez la colocation',
'rent.required' => 'Entrez un loyer',
'img.required' => 'Enregistrez une image',
],
[
'title' => 'titre de l\'annonce',
'city' => 'ville',
'people' => 'nombre de colocataires',
'desc-full' => 'description',
'img' => 'image',
'rent'=> 'loyer'
]);
//upload the img
$path=$request->file('img')->store('offer_images');
// dd($path);
//Insert data into the products table
$offer=new Offer();
$offer->title=$request->input('title');
$offer->city=$request->input('city');
$offer->people=$request->input('people');
$offer->long_desc=$request->input('desc-full');
$offer->image_url=$path;
$offer->user_id=Auth::id();
$offer->rent=$request->input('rent');
$offer->save();
return redirect('/offer/'.$offer->id);
}
//function to edit offer
public function edit($id) {
$offer=Offer::find($id);
return view('edit')->with('offer',$offer);
}
public function update(Request $request, $id) {
$request->validate([
'rent' =>'numeric'
]);
// get product by id
$offer=Offer::find($id);
if($request->hasFile('img'))
{
$path = $request->file('img')->store('offer_images');
}
// check if inputs are empty
if(!empty($request->input('title')))
{
$offer->title = $request->input('title');
}
if(!empty($request->input('city')))
{
$offer->city = $request->input('city');
}
if(!empty($request->input('people')))
{
$offer->people = $request->input('people');
}
if(!empty($request->input('desc-full')))
{
$offer->long_desc = $request->input('desc-full');
}
if(!empty($request->input('rent')))
{
$offer->rent = $request->input('rent');
}
// save changes
$offer->save();
return redirect('/offer/'.$offer->id);
}
// function to delete an offer
public function destroy($id)
{
$offer=Offer::find($id);
$offer->delete();
return redirect()->action([OffersController::class,'showOwnOffers']);
}
}
我的影像存盤在 public>offer_images
謝謝你的幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/413571.html
標籤:
上一篇:不重疊某些像素的隨機矩形
