濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法

阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法

熱門標(biāo)簽:格陵蘭島地圖標(biāo)注 電銷招聘機(jī)器人 太原極信防封電銷卡 福泉電話機(jī)器人 地圖標(biāo)注入哪個(gè)科目 天津營(yíng)銷電話機(jī)器人加盟代理 熱線電話機(jī)器人 南寧crm外呼系統(tǒng)平臺(tái) 事業(yè)單位如何百度地圖標(biāo)注

最近比較忙,也沒來得及寫博客。加上最近也確實(shí)沒有接觸到什么新技術(shù),有點(diǎn)尷尬。。。

在昨天算是第一次接觸對(duì)象存儲(chǔ)這個(gè)東西,研究了一天,算是在項(xiàng)目中走得通了,所以在此分享給大家,是最基礎(chǔ)的OSS上傳圖片部分,希望能自己以后能少踩坑,也希望能幫助到大家。

首先呢,現(xiàn)在百度出來的,基本都是laravel大神自己封裝的composer包,可惜我實(shí)在是不能用,所以只能老老實(shí)實(shí)的在項(xiàng)目中引入SDK了。。。

1、引入阿里的SDK文件

如圖所示,其實(shí)我也不知道該放哪里合適,不過laravel的好處是命名空間比較好使,所以我直接把SDK重命名為OSS,然后目錄路徑為:App\Helpers\OSS

2、就是修改命名空間,主要是你能用得上的文件,大概有7-8個(gè),把命名空間都定義好

3、修改配置文件,config.php,這個(gè)是SDK中的配置文件,需要把相應(yīng)的配置寫清楚

(坑:endpoint這個(gè)部分,前面一定不要加你的bucket,不然就重復(fù)了。。。例如,我的endpoint是

'oss-cn-shanghai.aliyuncs.com'
)

4、都配置的差不多了,接下來就是上傳文件了

public static function uploadOne($filename)
{
 $file = \Illuminate\Support\Facades\Request::file($filename);
 if (!$file) {
 exit("請(qǐng)上傳圖片");
 }
 // 文件是否上傳成功
 if ($file->isValid()) {

 // 獲取文件相關(guān)信息
 $originalName = $file->getClientOriginalName(); // 文件原名
 $ext = $file->getClientOriginalExtension(); // 擴(kuò)展名
 $realPath = $file->getRealPath(); //臨時(shí)文件的絕對(duì)路徑
 $type = $file->getClientMimeType(); // image/jpeg
 $content = date('Y-m-d-H-i-s') . '-' . uniqid() . '.' . $ext;

 require_once(base_path() . '/app/Helpers/Oss/autoload.php');

 $bucket = Config::OSS_TEST_BUCKET;
 $accessKeyId = Config::OSS_ACCESS_ID;
 $accessKeySecret = Config::OSS_ACCESS_KEY;
 $endpoint = Config::OSS_ENDPOINT;
 $ossClient = Common::getOssClient();
 /*var_dump($ossClient);
 exit;*/
 $object = "user/" . $content;
 $filePath = $file;
 $result = $ossClient->UploadFile($bucket, $object, $filePath);
 if (!$result) {
  exit("上傳圖片失敗");
 }
 return $content;
 }
}

上代碼,主要從require_once開始的,引入SDK的加載文件,然后把各項(xiàng)配置通過config引入進(jìn)來。

$object是你要存儲(chǔ)的文件。比如樓主這里,就是相當(dāng)于存儲(chǔ)在bucket下的user文件下。然后通過

$filePath = $file來獲得圖片的內(nèi)容,使用UploadFile方法進(jìn)行上傳。然后看返回值,成功即可。

5、遇到的坑:首先是SDK中的autoload.php一直報(bào)錯(cuò),

function classLoader($class)
{
 $path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
 $file = __DIR__ . DIRECTORY_SEPARATOR .'src'. DIRECTORY_SEPARATOR . $path . '.php';
 if (file_exists($file)) {
 require_once $file;
 }
}
/*spl_autoload_register('classLoader');*/

像這樣的,我就直接注釋了,也沒什么后果,不過在后面可能會(huì)用得上吧,需要繼續(xù)研究

其次就是上傳的時(shí)候遇到的小問題了,這個(gè)根據(jù)錯(cuò)誤提示修改即可,一般來說按我的走,能實(shí)現(xiàn)基本的上傳圖片,如果是上傳文件的話,直接修改上傳方法:$ossClient->putobj()就可以了

總結(jié):我這個(gè)只是最基礎(chǔ)的后臺(tái)上傳。未來做APP上傳的時(shí)候,肯定是需要ajax先獲取一個(gè)加密碼,然后再url中加上這個(gè)加密碼進(jìn)行識(shí)別,,還有就是圖片的刪除等問題,仍需研究。。。以后如果研究好了,就再分享給大家。

以上這篇阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel中使用阿里云OSS Composer包分享
  • Laravel框架中實(shí)現(xiàn)使用阿里云ACE緩存服務(wù)
  • Laravel中擴(kuò)展Memcached緩存驅(qū)動(dòng)實(shí)現(xiàn)使用阿里云OCS緩存
  • Laravel框架實(shí)現(xiàn)發(fā)送短信驗(yàn)證功能代碼
  • 使用 laravel sms 構(gòu)建短信驗(yàn)證碼發(fā)送校驗(yàn)功能
  • laravel中短信發(fā)送驗(yàn)證碼的實(shí)現(xiàn)方法
  • Laravel實(shí)現(xiàn)短信注冊(cè)的示例代碼
  • 用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn)
  • 在 Laravel 中 “規(guī)范” 的開發(fā)短信驗(yàn)證碼發(fā)送功能
  • laravel框架使用阿里云短信發(fā)送消息操作示例

標(biāo)簽:郴州 阿克蘇 寶雞 佳木斯 金華 自貢 通化 香港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法》,本文關(guān)鍵詞  阿里,對(duì)象,存儲(chǔ),OSS,在,laravel,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于阿里對(duì)象存儲(chǔ)OSS在laravel框架中的使用方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    搜索| 台前县| 钦州市| 区。| 康保县| 甘德县| 绵竹市| 长宁县| 徐汇区| 陇西县| 大庆市| 吉木乃县| 剑阁县| 江陵县| 额敏县| 天长市| 纳雍县| 新晃| 古交市| 大冶市| 托克逊县| 繁峙县| 车致| 石景山区| 鸡西市| 杭锦后旗| 漳州市| 武义县| 宽城| 洪雅县| 包头市| 罗平县| 长宁区| 泸溪县| 疏附县| 桐庐县| 吴忠市| 开原市| 大冶市| 开远市| 娱乐|