I successfully install the Intervention Image , I test it, it worked fine, but when I try to upload in s3 then it through an error which is Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException
Here is my controller code
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Data;
use Storage;
use Image;
class DataController extends Controller
{
public function adddata(Request $request){
$value = $request->validate([
'name' => ['required'],
'email' => ['required']
]);
if ($request->image) {
$image = Image::make($request->file('image')->getRealPath())->resize(400,400)->encode('jpg');
$value['image'] = Storage::disk('s3')->putFile('myfolder', (string)$image);
}
if ($request->video) {
$value['video'] = Storage::disk('s3')->putFile('myfolder', $request->video);
}
Data::create($value);
}
}
Here is my Blade code
<form action="{{ route('data.add') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="container">
<div class="row">
<div class="col-12 mb-3">
<input type="text" name="name" id="" placeholder="name">
</div>
<div class="col-12 mb-3">
<input type="email" name="email" id="" placeholder="email">
</div>
<div class="col-12 mb-3">
<input type="file" name="image" id="">
</div>
<div class="col-12 mb-3">
<input type="file" name="video" id="">
</div>
<div class="col-3">
<input type="submit" name="submit" id="">
</div>
</div>
</div>
</form>
Model Code
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Storage;
class Data extends Model
{
use HasFactory;
protected $fillable=[
'name',
'email',
'image',
'video'
];
}
I want to mention that, I found the piece of code from https://laracasts.com/discuss/channels/laravel/laravel-intervention-image-upload-to-amazon-s3 And I try both methods but not works for me.