Php Laravel文件上载而不更改名称
我想上传一个文件到我的laravel项目。但我认识到拉威尔随机更改了我的文件名。如何将文件上载到laravel而不更改其名称。不知何故,我的验证也不起作用。我刚刚被重定向,没有任何消息。 这是我的刀Php Laravel文件上载而不更改名称,php,file-upload,laravel-5.8,Php,File Upload,Laravel 5.8,我想上传一个文件到我的laravel项目。但我认识到拉威尔随机更改了我的文件名。如何将文件上载到laravel而不更改其名称。不知何故,我的验证也不起作用。我刚刚被重定向,没有任何消息。 这是我的刀 //show errors @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error)
//show errors
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
/ul>
</div>
@endif
// forms
<form action="{{ route('designers.store') }}" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group d-flex flex-column">
<label for="exampleInputFile">File input</label>
<input type="file" name="files[]" multiple>
</div>
<button type="submit">Submit</button>
</form>
您可以将控制器更改为:
use Illuminate\Support\Facades\Storage;
function yourFunction(){
$this->validate($request,[
'project' => 'required|numeric',
'totalItem' => 'required|numeric',
'files' => 'nullable|array|file|mimes:pdf,jpg,png,docx,xlsx' //This validates file and MIME type. Also if it isn't required, it should perhaps be nullable.
]);
if($request->hasFile('files'){
$files = $request->file('files');
foreach($files as $file){
$filename = $file->getClientOriginalName();
Storage::disk('local')->put($filename, file_get_contents($file)); //This stores your file.
}
}
//Save stuff to DB here
}
关于文件存储的正式文件:
关于MIME验证的正式文件:
use Illuminate\Support\Facades\Storage;
function yourFunction(){
$this->validate($request,[
'project' => 'required|numeric',
'totalItem' => 'required|numeric',
'files' => 'nullable|array|file|mimes:pdf,jpg,png,docx,xlsx' //This validates file and MIME type. Also if it isn't required, it should perhaps be nullable.
]);
if($request->hasFile('files'){
$files = $request->file('files');
foreach($files as $file){
$filename = $file->getClientOriginalName();
Storage::disk('local')->put($filename, file_get_contents($file)); //This stores your file.
}
}
//Save stuff to DB here
}