出于某种原因,我无法使用干预工具保存图片。我以前做过这个,我在这里也遵循同样的事情,但现在它没有被保存。我得到的错误是:
$this->validate($request, array(
'title'=>'required|max:255',
'slug'=>'required|min:3|max:255|unique:posts',
'body'=>'required',
'img'=>'image',
'desc'=>'max:255'
));
$post=new Post;
$post->title=$request->title;
$post->slug=$request->slug;
$post->body=$request->body;
$post->desc = $request->desc;
if($request->hasFile('img')){
$image=$request->file('img');
$imageName=time().'.'.$image->getClientOriginalExtension();
$location='static/photos/'.$imageName;
Image::make($image)->save($location);
$post->image=$imageName;
}
$post->save();
$post->tags()->sync($request->tags, false);
$post->categories()->sync($request->categories, false);
/*Session::flash('success', 'The Post Has been published!');*/
return redirect()->route('slug', $post->slug);
这是我在控制器中的商店功能:
public_path()
这应该是这样的,但当我看到它由于某种原因不起作用时,我也尝试了它并且它也不起作用。
<div class="{{$errors->has('img')?'has-error':''}}">
<label class="label" for="img">Upload picture</label>
<div>
<input type="file" name="img" id="img" class="input" multiple="multiple">
</div>
</div>
文件夹本身(静态)位于项目的根目录中。
上传的表单视图是:
{{csrf_field()}}
icacls "C:\Users\GabMic\b\static" /grant GabMic:F
除此之外,我还检查了该文件夹(和子文件夹)的权限,甚至还运行了命令
MyParam
我在这里缺少什么? Ps,即时通讯使用最新版本的laravel。谢谢你的帮助。
答案 0 :(得分:0)
尝试以下代码。首先声明您的路径,然后验证该文件夹是否存在。
if($request->hasFile('img')){
$image=$request->file('img');
$path = base_path("static/photos/");
File::exists($path) or File::makeDirectory($path, 0777, true, true);
$img = Image::make($image->getRealPath())->save($path . time().'.'.$image->getClientOriginalExtension();
}
答案 1 :(得分:-3)
尝试:
$location='../public/static/photos/'.$imageName;
或
$location='../storage/static/photos/'.$imageName;
Image::make($image)->save($location);