Я пытаюсь создать веб-сайт, на котором пользователь сможет загрузить PDF и сделать файл c. Кроме того, я хочу сохранить файл в папке хранилища, поэтому я создал символическую ссылку, чтобы она дублировала папку в папке Publi c. У меня есть папка Public / storage / Paper в publi c. Это моя форма, где пользователь сможет загрузить статью.
<form class="form-horizontal" method="post" action="paper" enctype="multipart/form-data">
@csrf
<div class="form-group">
<label for="title">Title of Paper</label>
<input type="text" class="form-control" name="title" placeholder="Title of Paper" required="required">
</div>
<div class="form-group">
<label for="Paper">Upload Paper</label>
<input type="file" class="form-control" name="paper" required="required" >
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
На моем контроллере я написал этот код, он прекрасно работает, как сохранение данных в базе данных, когда мне не нужно загружать файл. Но когда мне нужно загрузить документ, проверка не проходит.
<?php
namespace App\Http\Controllers;
use App\Submission;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
class PapersController extends Controller
{
public function store(Request $request){
$request->validate([
'title'=>'required',
'paper'=>'required'
]);
$title= $request->input('title');
Validator::make($request->all(),['file'=>"required|string|paper|mimes:pdf,docx"])->validate();
$extension= $request->file("file")->getClientOriginalExtension();
$stringPaperFormat=str_replace(" ", "", $request->input('title'));
$fileName= $stringPaperFormat.".".$extension;
$FileEnconded= File::get($request->paper);
Storage::disk('local')->put('public/Paper'.$fileName, $FileEnconded);
$newsubmission= array("title"=>$title, "first_name"=>$first_name, "last_name"=>$last_name,"isReviewed"=>$isReviewed, "paper"=>$fileName);
$created= DB::table('submissions')->insert($newsubmission);
if($created){
return "Sucessful";
}else{
return "Not Sucessful";
}
}
}
Я не могу обнаружить проблему. Любая помощь будет оценена.