2017-05-14 37 views
2

繼文檔的這一部分:自定義文件名,同時保持擴展

https://laravel.com/docs/5.3/filesystem#file-uploads

我想存儲文件(圖像),並指定一個自定義的文件名,但我不希望改變擴展名。

如果我做的:

$request->file('avatar')->storeAs('avatars', 'custom_file_name'); 

該文件將保存爲custom_file_name(不帶擴展名),而不是custom_file_name.png)。

如何在保留原始文件擴展名的同時指定自定義文件名?

回答

2

你可以上傳文件的擴展名有:

$extension = $request->photo->extension(); 

,並手動將其應用到存儲的文件名。

UploadedFile類還包含用於訪問文件的完全限定路徑及其擴展名的方法。 extension方法將嘗試根據其內容猜測文件的擴展名。

https://laravel.com/docs/5.4/requests#files

0

下面的代碼檢查請求是否已通過用CUSTOM_NAME ID /名稱的化身,然後將其存儲的文件。{uploaded_files_extension}

if($request->hasFile('avatar')) { 
       $imgfile = Input::file('avatar'); 
       $custom_name = 'custom_name'.$imgfile->getClientOriginalExtension(); 
       $request->file('avatar')->storeAs('avatars', $custom_name); 
      } 
相關問題