Here is the code to upload an image to the database.
public function create(Request $request)
{
$this->validate($request, [
'comment' => 'required',
]);
$mess = new messageUser;
$mess->user_id = Auth::guard('userLogin')->user()->id;
$mess->message = $request->comment;
if($request->hasFile('image')){
$filenameWithExtention = $request->file('image')->getClientOriginalName();
$fileName = pathinfo($filenameWithExtention,PATHINFO_FILENAME);
$extension = $request->file('image')->getClientOriginalExtension();
$fileNameStore = $fileName .'_'.time().'.'.$extension;
$path = $request->image->storeAs('images', $fileNameStore);
$mess->attach = $fileNameStore;
}
$mess->save();
return $mess;
}
Blade
<div class="form-group">
<textarea id="compose-textarea" name="comment"></textarea>
</div>
<div class="form-group">
<div class="input-group">
<input type="file" name="image" class="form-control inputFileVisible" placeholder="attach one file">
<button type="button" class="btn btn-fab btn-round btn-info"><i class="material-icons">attach an image</i>
</button>
</div>
</div>
<button type="submit" class="btn btn-primary"><i class="fa fa-envelope-o"></i>send image</button>
The code sends the message successfully but didn't upload the image.
You can do something like this:
if($request->hasFile('image')){
$filenameWithExtention = $request->file('image')->getClientOriginalName();
$fileName = pathinfo($filenameWithExtention,PATHINFO_FILENAME);
$extension = $request->file('image')->getClientOriginalExtension();
$fileNameStore = $fileName .'_'.time().'.'.$extension;
$path = $request->photo->storeAs('images', $fileNameStore);
$mess->attach = $fileNameStore;
}
For more Visit this
Thanks.
Note: Don't forget to run php artisan storage:link
What is the error show us please it will be better to guide you... BTW you ca use following code to uplaod an image/file
if ($request->image) {
$file = $request->File('image');
$ext = $student->username . "." . $file-
>clientExtension();
$file->storeAs('images/', $ext);
$student->image = $ext;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.