2017-07-24 151 views
1

我有这样的代码正常名称的文件:如何与使用存储在laravel

public function storeProject(Request $request) 
    { 
     $project = new Project(); 
     if ($request->has('slug') || $request->has('position') || $request->has('public') 
     || $request->has('pathheader') || $request->has('pathhome')) 
     { 
      $project->slug = $request->input('slug'); 
      $namefolder = $project->slug; 
      $project->position = $request->input('position'); 
      $project->public = $request->input('public'); 
      $file = $request->file('pathheader'); 
      $file2 = $request->file('pathhome'); 
      Storage::put('projects/'.$namefolder, $file); 
      //\Storage::disk('projects')->put($namefolder, \File::get($file2)); 
      //File::makeDirectory('/assets/img/projects/hola', 0775, true); 
      $project->save(); 
      return $project; 
      return $file; 
     } 
    } 

当使用此功能/projects/.$namefolder正确地创建,但文件名是什么像这样:p5ds31F6iJoZxXypSMlp3z1baKXs5tPAVOaKMGav.png

如何有例如:'header.png'? 谢谢!

回答

0

使用storeAs()方法:

$path = $request->photo->storeAs('images', 'filename.jpg'); 

如果你不想被自动生成一个文件名做,你可以使用storeAs方法,它接受的路径,文件名和磁盘名称作为其参数。

https://laravel.com/docs/5.4/requests#storing-uploaded-files

+0

问题是我需要创建目录,如果不存在..所以当我做了“存储”像你说的,我想我需要有创建的目录.. –