在laravel上使用put()上传损坏的图像

时间:2019-02-15 12:46:49

标签: laravel laravel-5

我的代码是

$avatarName = $user->id.'_avatar'.time().'.'.request('avatar')->getClientOriginalExtension();
$path = request('avatar')->storeAs('avatars',$avatarName);
Storage::disk('public')->put($avatarName,$path);

我在filesystem.php上做了

'public' => [
        'driver' => 'local',
        'root' => public_path().'/avatars',
        'url' => env('APP_URL').'/public',
        'visibility' => 'public',
    ],

图像正在上传。但是图像已损坏。原始图片文件大小为1.19MB,上传图片大小为31字节后。我该怎么办?

1 个答案:

答案 0 :(得分:0)

首先,您可以确保其为文件和有效文件。 然后,您可以使用storeAs

if($request->hasFile('avatar') && $request->file('avatar')->isValid()){

    $avatarName = $user->id.'_avatar'.time().'.'.request('avatar')->getClientOriginalExtension();

    // public as the 3rd argument is the disk name to store file in
    $file->storeAs('your_path_here', $avatarName, 'public');
}