我想用链接图片保存我的帖子/ 我的模特:
class Performer extends Model
{
protected $fillable = ['title','slug','logoimage','description','address','toplace','exp','workers','published','created_by','modified_by'];
public function categories() {
return $this->morphToMany('App\Category', 'categoryable');
}
public function SetSlugAttribute($value)
{
$this->attributes['slug'] = Str::slug(mb_substr($this->title, 0, 40) . "-". \Carbon\Carbon::now()->format('dmyHi'), '-');
}
}
我的控制器:
public function store(Request $request) {
// dd($request);
$performer = Performer::create($request->all());
if ($request->input('categories')){
$performer->categories()->attach($request->input('categories'));
}
if ($request->hasfile('logoimage')){
$image = $request->file('logoimage');
$filename = time().'.'.$image->getClientOriginalExtension();
$location = public_path('images/uploads/logo/'.$filename);
Image::make($image)->resize(100, 100)->save($location);
// dd($filename); - return normal filename, 857857857.jpg as example
$performer->logoimage= $filename;
}
return redirect()->route('admin.performer.index');
}
查看:
<input type="file" class="form-control" name="logoimage">
在表单中启用了enctype =“multipart / form-data”。
结果: 图像通常以* .jpg名称保存到文件夹public \ images \ uploads \ logo 将数据库(logoimage列)保存为C:\ xampp \ tmp \ php915C.tmp。 为什么? 如何解决?
答案 0 :(得分:0)
问题解决了。我添加了$ performer-&gt; save();对我的控制器 - 它对我来说很好。
答案 1 :(得分:0)
不要使用GetClientOriginalExtension。使用GetClientOriginalName代替最佳做法。您提出的方法有效,但您没有“添加”扩展名。你得到.tmp的原因是因为你没有得到原始文件名。但就像我提到的那样,你也可以在代码末尾使用扩展。 希望这对遇到这个问题的人有帮助:))