69 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Http\Controllers\Common;
 | 
						|
 | 
						|
use App\Http\Controllers\Controller;
 | 
						|
use Storage;
 | 
						|
 | 
						|
class Uploads extends Controller
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Get the specified resource.
 | 
						|
     *
 | 
						|
     * @param  $folder
 | 
						|
     * @param  $file
 | 
						|
     * @return boolean|Response
 | 
						|
     */
 | 
						|
    public function get($folder, $file)
 | 
						|
    {
 | 
						|
        // Get file path
 | 
						|
        if (!$path = $this->getPath($folder, $file)) {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
 | 
						|
        return response()->file($path);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Download the specified resource.
 | 
						|
     *
 | 
						|
     * @param  $folder
 | 
						|
     * @param  $file
 | 
						|
     * @return boolean|Response
 | 
						|
     */
 | 
						|
    public function download($folder, $file)
 | 
						|
    {
 | 
						|
        // Get file path
 | 
						|
        if (!$path = $this->getPath($folder, $file)) {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
 | 
						|
        return response()->download($path);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get the full path of resource.
 | 
						|
     *
 | 
						|
     * @param  $folder
 | 
						|
     * @param  $file
 | 
						|
     * @return boolean|string
 | 
						|
     */
 | 
						|
    protected function getPath($folder, $file)
 | 
						|
    {
 | 
						|
        // Add company id
 | 
						|
        if ($folder != 'users') {
 | 
						|
            $folder = session('company_id') . '/' . $folder;
 | 
						|
        }
 | 
						|
 | 
						|
        $path = $folder . '/' . $file;
 | 
						|
 | 
						|
        if (!Storage::exists($path)) {
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
 | 
						|
        $full_path = Storage::path($path);
 | 
						|
 | 
						|
        return $full_path;
 | 
						|
    }
 | 
						|
}
 |