图像必须是以下类型的文件:jpeg、bmp、png、jpg。在 laravel 5.5
The image must be a file of type: jpeg, bmp, png, jpg. in laravel 5.5
我不明白为什么它不工作并让我出错
这是我的表格
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug, 'files' => 'true']]) !!}
<div class="form-group{{ $errors->has('title') ? ' has-error' : '' }}">
{!! Form::label('title', 'Title') !!}
{!! Form::text('title', $project->title, ['class' => 'form-control', 'required' => 'required']) !!}
<small class="text-danger">{{ $errors->first('title') }}</small>
</div>
<div class="form-group{{ $errors->has('content') ? ' has-error' : '' }}">
{!! Form::label('content', 'Content') !!}
{!! Form::textarea('content', $project->content, ['class' => 'form-control', 'required' => 'required']) !!}
<small class="text-danger">{{ $errors->first('content') }}</small>
</div>
@if($project->progress == 1)
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '1', null, ['id' => 'radio_id', 'checked' => 'checked']) !!} In Progress
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '2', null, ['id' => 'radio_id']) !!} Complete
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
@else
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '1', null, ['id' => 'radio_id']) !!} In Progress
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '2', null, ['id' => 'radio_id', 'checked' => 'checked']) !!} Complete
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
@endif
<div class="form-group{{ $errors->has('image') ? ' has-error' : '' }}">
{!! Form::label('image', 'Select Image of page') !!}
{!! Form::file('image') !!}
<p class="help-block">for better view select 1920x1080 size of image</p>
<small class="text-danger">{{ $errors->first('image') }}</small>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
{!! Form::submit("Edit", ['class' => 'btn btn-warning pull-right']) !!}
{!! Form::close() !!}
还有我的管理面板
public function projectedit($id, Request $request){
$this->validate($request, [
'title' => 'required|max:255',
'content' => 'required|max:10000',
'image' => 'mimes:jpeg,bmp,png,jpg',
]);
$project = Project::where('slug', $id)->firstorfail();
$project->title = $request->title;
$project->slug = str_slug($project->title, '-');
$project->content = $request->content;
$project->progress = $request->progress;
if($request->hasFile('image')) {
$file = Input::file('image');
//getting timestamp
$timestamp = str_replace([' ', ':'], '-', Carbon::now()->toDateTimeString());
$name = $timestamp. '-' .$file->getClientOriginalName();
$file->move(public_path().'/images/project/', $name);
$project->image = $name;
$thumb = Image::make(public_path().'/images/project/' . $name)->resize(1200,500)->save(public_path().'/images/project/thumb/' . $name, 60);
}
$project->save();
return Redirect::back()->with('status', 'Project Edit Success');
}
请告诉我我做错了什么,一切正常,但图片无法上传,只有图片无法上传,其他一切正常。
你应该设置
'files' => 'false'
到
'files' => 'true'
在表格的第 1 行
在您设置的表单创建代码中:
['files' => 'false']
这个限制文件上传,当你把它改成true时,生成的表单的编码类型会是
enctype= multipart/form-data laravel
设置'files' => 'false' 到 'files' => 'true' 在你的表单中。
并检查您的 php.ini 文件是否有 file_upload=on;
请更改您的表单方法,例如:
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug, 'files' => 'false']]) !!}
至
{!! Form::open(['method' => 'POST', 'route' => ['admin.project.edit', $project->slug, 'files' => 'true']]) !!}
更改以下行:
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug, 'files' => 'false']]) !!}
对此:
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug], 'files' => 'true']) !!}
你上传图片的方式很乱,在控制器中看起来如何使用 Laravel Filesystem 呢?
更改 config/filesytems 中的以下行。php:
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
对此:
'local' => [
'driver' => 'local',
'root' => public_path(),
],
然后在控制器中你可以这样做:
public function projectedit($id, Request $request){
$this->validate($request, [
'title' => 'required|max:255',
'content' => 'required|max:10000',
'image' => 'mimes:jpeg,bmp,png,jpg',
]);
$project = Project::where('slug', $id)->firstorfail();
$project->title = $request->title;
$project->slug = str_slug($project->title, '-');
$project->content = $request->content;
$project->progress = $request->progress;
if($request->hasFile('image')) {
$project->image = $request->file('image')->store('images/project');
}
$project->save();
return Redirect::back()->with('status', 'Project Edit Success');
}
干净吗? :)
我不明白为什么它不工作并让我出错
这是我的表格
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug, 'files' => 'true']]) !!}
<div class="form-group{{ $errors->has('title') ? ' has-error' : '' }}">
{!! Form::label('title', 'Title') !!}
{!! Form::text('title', $project->title, ['class' => 'form-control', 'required' => 'required']) !!}
<small class="text-danger">{{ $errors->first('title') }}</small>
</div>
<div class="form-group{{ $errors->has('content') ? ' has-error' : '' }}">
{!! Form::label('content', 'Content') !!}
{!! Form::textarea('content', $project->content, ['class' => 'form-control', 'required' => 'required']) !!}
<small class="text-danger">{{ $errors->first('content') }}</small>
</div>
@if($project->progress == 1)
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '1', null, ['id' => 'radio_id', 'checked' => 'checked']) !!} In Progress
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '2', null, ['id' => 'radio_id']) !!} Complete
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
@else
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '1', null, ['id' => 'radio_id']) !!} In Progress
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
<div class="radio{{ $errors->has('progress') ? ' has-error' : '' }}">
<label for="progress">
{!! Form::radio('progress', '2', null, ['id' => 'radio_id', 'checked' => 'checked']) !!} Complete
</label>
<small class="text-danger">{{ $errors->first('progress') }}</small>
</div>
@endif
<div class="form-group{{ $errors->has('image') ? ' has-error' : '' }}">
{!! Form::label('image', 'Select Image of page') !!}
{!! Form::file('image') !!}
<p class="help-block">for better view select 1920x1080 size of image</p>
<small class="text-danger">{{ $errors->first('image') }}</small>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
{!! Form::submit("Edit", ['class' => 'btn btn-warning pull-right']) !!}
{!! Form::close() !!}
还有我的管理面板
public function projectedit($id, Request $request){
$this->validate($request, [
'title' => 'required|max:255',
'content' => 'required|max:10000',
'image' => 'mimes:jpeg,bmp,png,jpg',
]);
$project = Project::where('slug', $id)->firstorfail();
$project->title = $request->title;
$project->slug = str_slug($project->title, '-');
$project->content = $request->content;
$project->progress = $request->progress;
if($request->hasFile('image')) {
$file = Input::file('image');
//getting timestamp
$timestamp = str_replace([' ', ':'], '-', Carbon::now()->toDateTimeString());
$name = $timestamp. '-' .$file->getClientOriginalName();
$file->move(public_path().'/images/project/', $name);
$project->image = $name;
$thumb = Image::make(public_path().'/images/project/' . $name)->resize(1200,500)->save(public_path().'/images/project/thumb/' . $name, 60);
}
$project->save();
return Redirect::back()->with('status', 'Project Edit Success');
}
请告诉我我做错了什么,一切正常,但图片无法上传,只有图片无法上传,其他一切正常。
你应该设置
'files' => 'false'
到
'files' => 'true'
在表格的第 1 行
在您设置的表单创建代码中:
['files' => 'false']
这个限制文件上传,当你把它改成true时,生成的表单的编码类型会是
enctype= multipart/form-data laravel
设置'files' => 'false' 到 'files' => 'true' 在你的表单中。
并检查您的 php.ini 文件是否有 file_upload=on;
请更改您的表单方法,例如:
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug, 'files' => 'false']]) !!}
至
{!! Form::open(['method' => 'POST', 'route' => ['admin.project.edit', $project->slug, 'files' => 'true']]) !!}
更改以下行:
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug, 'files' => 'false']]) !!}
对此:
{!! Form::open(['method' => 'PUT', 'route' => ['admin.project.edit', $project->slug], 'files' => 'true']) !!}
你上传图片的方式很乱,在控制器中看起来如何使用 Laravel Filesystem 呢?
更改 config/filesytems 中的以下行。php:
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
对此:
'local' => [
'driver' => 'local',
'root' => public_path(),
],
然后在控制器中你可以这样做:
public function projectedit($id, Request $request){
$this->validate($request, [
'title' => 'required|max:255',
'content' => 'required|max:10000',
'image' => 'mimes:jpeg,bmp,png,jpg',
]);
$project = Project::where('slug', $id)->firstorfail();
$project->title = $request->title;
$project->slug = str_slug($project->title, '-');
$project->content = $request->content;
$project->progress = $request->progress;
if($request->hasFile('image')) {
$project->image = $request->file('image')->store('images/project');
}
$project->save();
return Redirect::back()->with('status', 'Project Edit Success');
}
干净吗? :)