前幾天接到乙個需求,需要上傳aws後可以直接公網訪問,aws檔案上傳預設是不能直接訪問,需要簽名,這就不符合我們的場景,因為另外幾個服務不想更新,只想讀取路徑
其實也就是在配置aws儲存的時候記得開放公網訪問即可
這一步不是我配置的,我們運維負責的,所以我也不知道怎麼搞,所以直接在網上拿圖吧
記得配置,不配置怎麼玩都不行
編輯
,
"action": "s3:getobject",
"resource": "arn:aws:s3:::my-bucket/*"}]
}
冒犯老哥了:給你打個廣告:
下面就是**了,點簡單,看官網的文件就可以:
說下環境把我用的php5.6
aws版本號:
"aliyuncs/oss-sdk-php": "2.3.0",
不要問選低版本,因為php5.6不支援高版本的,這裡很坑
<?php
/** * aws檔案上傳封裝
*/use aws\s3\s3client;
use aws\s3\multipartuploader;
class awsfile
catch (exception $e)
return true;
}/**
* upload file 基礎上傳
* name 檔名
* fileurl 檔案路徑(絕對位址)
*/public function uploadfile($file_name, $file_path)
try catch (exception $e)
}/**
* 自定義分段上傳
*/public function multipartuploader($file_name, $file_path)
,'before_upload' => function (\aws\command $command) ,
'before_complete' => function (\aws\command $command) ,
]);try catch (aws\exception\multipartuploadexception $e)
return $data;
}/**
* s3根據檔名稱獲取url
* filename 檔名稱
* publicpath 證書路徑
* expire 過期時間
* $result = $this->client->getobjecturl($this->bucket, $name);//此方法將返回給定儲存桶和金鑰的未簽名 url。
*/public function getfileurl($filename, $publicpath, $expire = 1)
try else
} catch (aws\s3\exception\s3exception $e)
}/**
* 獲取檔名稱
*/public function getfilename($name)
}
Objective C 屬性訪問or直接訪問?
當定義了乙個屬性的時候,例如 property nonatomic,strong uiimageview imageview 有兩種訪問方法self.imageview imageview,屬性訪問和直接訪問有幾個區別 1直接訪問不用經過 方法派發 速度上有一定的優勢 2直接訪問,繞過了 記憶體管理...
從主頁直接訪問
最成功的乙個設計策略是在主頁上放置一些鏈結,這樣使用者能夠直接到達少數非常重要的功能。無論你將資訊結構組織得如何好,也不管你在導航系統中對它的表示是如何的透明,如果使用者必須經過多級的導航才能夠到達所需的功能,他們仍可能會迷失方向或者失去耐心。主頁上的直接鏈結為它提供了捷徑並簡化了這個任務。不幸的是...
Nginx直接訪問redis,lua訪問redis
直接去wget就可以 這個需要重新編譯nginx,然後把這個模組加上。下面大概說一下編譯nginx 和加這個模組可能會遇到的問題。首先如果你電腦上有nginx 那麼你要寫 使用nginx v 檢視一下當前的模組,把這些模組全部拷貝在乙個位置上。configure prefix 然後上面拷貝的全加上,...