首页 > 解决方案 > Laravel - 图片上传在服务器上不起作用

问题描述

我的代码在 localhost 上运行良好,我在 .htaccess 中进行了更改。

php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

控制器代码如下。给定代码将所有数据发送到数据库中,例如图像名称和扩展名,每个都工作正常,但图像没有上传到相应的文件夹中。

public function store(Request $request)
{
  // Validate Data
  $this->validate($request, [
    'member'  => 'required|max:255',
    'specialized' => 'required|max:255',
    'image' => 'image',
  ]);

  //Store Data
  $team = new Team;
  $team -> member = $request->member;
  $team -> specialized = $request->specialized;
  $team -> designation = $request->designation;

  if($request->hasFile('image')){
    $image = $request->file('image');
    $filename = time() . '.' . $image->getClientOriginalExtension();

    $location = storage_path('/app/public/images/' . $filename);
    Image::make($image)->resize(400, 500)->save($location);
    $team -> image = $filename;
  }

  if($team->save()){
    Session::flash('success', 'Team Member Added Successfully');
    return redirect()->route('team.index', $team->id);
  } else{
    Session::flash('error', 'Sorry a problem occurred while adding Team Member');
    return redirect()->route('team.create');
  }
}

甚至跟随带有属性的 Form 标签

<form method="POST" action="{{route('team.store')}}" accept-charset="UTF-8" enctype="multipart/form-data">

请在这件事上帮助我。

标签: laravellaravel-5eloquent

解决方案


授予您上传图像文件的目录的权限 755,或者如果您在 nginx 服务器上的 php 代码主机然后更新 nginx.conf 上的 nginx 配置添加或更新此行

client_max_body_size 100M;


推荐阅读