Laravel上传GIF

时间:2019-01-06 15:12:43

标签: laravel

我正在laravel中为我的帖子上传gif,但是gif就像是图像不动或类似的东西

 <?php
 if($request->hasFile('gif')){

   $gif = $request->file('gif');
   $gif_filename = time() . '.' . $gif->getClientOriginalName();
   $gif_location = public_path('/images/' . $gif_filename);
   Image::make($gif)->save($gif_location);
 }

  $post->gif = $gif_filename;
      $post->save();
?>

这是我使用的代码,我认为一切都正确

3 个答案:

答案 0 :(得分:0)

我使用这种方法

if(Input::hasFile('imagen')) {
   $time = Carbon::now()->format('Y-m-d');
   $image = $request->file('imagen');
   $extension = $image->getClientOriginalExtension();
   $name = $image->getClientOriginalName();
   $fileName = $time."-".$name;
   $image->move(storage_path(),$fileName);
}

请尝试一下,让我知道它如何工作:)

答案 1 :(得分:0)

一种简单的更新和保存方法是:

public function store(Request $request)
{
    $imgLocation = Storage::disk('public')->put(time() . '.' . $request->file('image')->getClientOriginalName(), $request->gif), $request->file('gif'));

    // This would save it to the gifs table if you need something like it, otherwise skip this creation
    $gif= Gif::create([
        'name' => $request->name,
        'path' => $imgLocation
    ]);

    if ($gif) {
        return response()->json("Success!"); 
    }

    return response()->json("Error!"); // or you return redirect()...
}

答案 2 :(得分:0)

$image = $request->file('image');
  
if(isset($image)) {
    if($image->getClientOriginalExtension()=='gif'){
        $image = $request->file('image');
        $extension = $image->getClientOriginalExtension();
        $name = $image->getClientOriginalName();
        $fileName = 'exerciseimages'."-".$name;
        $image->move('storage/courseimages/',$fileName);
    }
    else{
          $fileName = 'exerciseimages'.'-'.uniqid().'.'.$image->getClientOriginalExtension();
    
        if(!Storage::disk('public')->exists('courseimages')){
            Storage::disk('public')->makeDirectory('courseimages');
        }
        $amenitiesimg = Image::make($image)->resize(250,250)->stream();
        Storage::disk('public')->put('courseimages/'.$fileName, $amenitiesimg);

       
    }
}
else {
    $fileName = 'default.png';
}