帮助我的代码在xampp和php artisan上运行localhost:8000
但在服务器托管验证失败。当我尝试上传图片时,返回Errors: The image field is required.
public function store(Request $request)
{
$this->validate($request, array(
'image' => 'mimes:jpeg,png,bmp|required|max:3000'
));
Session::flash('success', 'Image been uploaded.');
return redirect()->route('galleries.index');
}
HTML
{!! Form::open(['route' => 'galleries.store', 'class' => 'form-inline', 'files' => true]) !!}
{!! Form::file('image', ['required' => '']) !!}
{!! Form::submit('Upload', ['class' => 'btn btn-success']) !!}
{!! Form::close() !!}
答案 0 :(得分:0)
Flash数据
有时您可能希望仅在下一个请求中将项目存储在会话中。您可以使用flash方法执行此操作。使用此方法存储在会话中的数据仅在后续HTTP请求期间可用,然后将被删除。 Flash数据主要用于短期状态消息:
在这种情况下,您可以将此来源用于上传文件
$fileName = $this->getFileName($file);
$pathUpload = $this->createPath(sprintf('%s', $config['path']));
$media = $file->move($pathUpload, $fileName);
protected function createPath($paths)
{
if (!is_array($paths)) {
if (!\File::exists($paths)) {
\File::makeDirectory($paths, $mode = 0777, true, true);
}
} else {
foreach ($paths as $path) {
if (!\File::exists($path)) {
\File::makeDirectory($path, $mode = 0777, true, true);
}
}
}
return $paths;
}
创建文件夹和设置权限的函数createPath
。
使用file_put_content
方法移动文件