欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Laravel如何上傳文件實(shí)現(xiàn)示例

 更新時(shí)間:2023年11月20日 08:33:21   作者:小拼拼  
這篇文章主要為大家介紹了Laravel如何上傳文件的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

最近失業(yè)在家,每天去圖書館閱讀大量的書籍。

名句:

人這一生機(jī)會很多,重要的機(jī)會只有一個(gè)
創(chuàng)業(yè)成功絕對不是靠技術(shù),而是靠市場
巨人公司的故事、企業(yè)助窮、Apple VS 諾亞機(jī)、微軟如何崛起
如何減壓 And 對抗焦慮
平面構(gòu)成(對稱與平衡,對比與調(diào)和)

情商課

1. 關(guān)切對方(就像父母對話孩子一樣的溫暖,天氣冷不冷?。?br />2. 學(xué)會道歉,有沒有嚇到你了 (對不起給你添麻煩了)
3. 共鳴 (那我們把空調(diào)開起來吧)

如下代碼

<?php
namespace App\Http\Controllers\Api\Air\v_1_0;
use App\Http\Controllers\Core\ApiController;
use App\Models\LoginLog;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use OSS\OssClient;
class FileController extends ApiController
{
    public function uploadFile(Request $request)
    {
        $file = $request->file();
        $ret = $this->_upload($file);
        echo json_encode($ret);
        exit;
    }
    protected function _upload($file)
    {
        $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);
        $storage_path = config('upload.storage');
        $webpath_path = config('upload.webpath');
        $image_path =  $dir_name . '/' . date("Y-m") . '/';
        $app_url = env('APP_URL') . '/';
        if (!$file) {
            return array('error'=>1,'message'=>"文件上傳失敗,請檢查后重試");
        }
        $ossConfig = config('oss.' . config('upload.ossflag'));
        if($ossConfig['bucket_addr']) {
            $app_url = $ossConfig['bucket_addr'];
        }
        foreach ($file as $k=>$v) {
            $tmpName = $v->getPathName();
            $fileExtension = $v->getClientOriginalExtension();
            $filePath = md5_file($tmpName) . '.' . $fileExtension;
            $file_size = $v->getSize();
            if($file_size > config('upload.maxSize'))
            {
                return array('error'=>1,'message'=>"文件不可以超過50MB");
            }
            if (!in_array(strtolower($fileExtension),config('upload.allowExts')))
            {
                return array('error'=>1,'message'=>"文件類型不支持");
            }
            //上傳成功后處理
            if(config('oss.' . 'oss_open') == 1) {
                $oss = new OssClient($ossConfig['access_key_id'], $ossConfig['access_key_secret'], $ossConfig['endpoint']);
                $res = $oss->uploadFile($ossConfig['bucket'],$webpath_path . $image_path . $filePath,$v->getPathName());
                if ($res)
                {
                    $data['oss'] = 1;
                    $data['attach_url'] = $ossConfig['bucket_addr'] . $webpath_path . $image_path . $filePath;
                } else {
                    $data['attach_url'] = $app_url . $webpath_path . $image_path . $filePath;
                    $data['oss'] = 0;
                }
                $data['time'] = time();
                $attach_id = DB::table('attachment')->insertGetId($data);
                $attach_array[] = $attach_id;
                $attach_url[] = $data['attach_url'];
            } else {
                $data['oss'] = 0;
                $data['attach_url'] = $app_url. $webpath_path . $image_path . $filePath;
                $data['time'] = time();
                $attach_id = DB::table('attachment')->insertGetId($data);
                $attach_array[] = $attach_id;
                $attach_url[] = $data['attach_url'];
            }
            if(!$data['oss'] || config('oss.' . 'is_delete') != 1)
            {
                $v->move($storage_path . $image_path, $filePath);    
                unset($data);
            }
            return array('error'=>0,'attach'=>$attach_array,'url'=>$attach_url[0],'url_arr'=>$attach_url);
        }
    }
}

以上就是Laravel如何上傳文件實(shí)現(xiàn)示例的詳細(xì)內(nèi)容,更多關(guān)于Laravel上傳文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論