【问题标题】:Laravel upload gifsLaravel 上传 GIF
【发布时间】:2019-01-06 15:12:42
【问题描述】:

我正在为我在 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();
?>

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

【问题讨论】:

  • 您检查文件夹public/images 是否正确上传了 gif 文件?
  • 我检查了,有 12312312.gif,但是当我点击查看它的图像时
  • 你可以试试this solution。它没有使用Image::make

标签: laravel


【解决方案1】:

我用这个方法

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);
}

请试试这个,让我知道它是如何工作的:)

【讨论】:

  • 类输入未找到
  • 您应该在控制器的开头声明它use Illuminate\Support\Facades\Input; 或使用您之前使用的$request-&gt;file('imagen');
【解决方案2】:

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

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()...
}

【讨论】:

    【解决方案3】:
    $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';
    }
    

    【讨论】:

    • 请补充说明
    猜你喜欢
    • 2017-05-15
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2014-02-21
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多