我正在用Laravel5.2建立一个小型资产管理系统
用户可以将图像、视频等上传到应用程序中,资产元数据存储在资产表中。当这种情况发生时,资产被重命名为匹配资产id (我也在存储原始文件名),我存储mime类型并将文件上传到S3。
我解开的地方是将S3 url存储在数据库中。
这是我的方法
public function store(AssetRequest $request)
{
// Initialise new asset and set the name
// from the form
$asset = new Asset(a
我们计划将我们的图像上传和调整系统迁移到AWS云中。
提出的解决方案
1.用户上传文件到AWS s3中。
S3上载调用AWS中的lambda函数,该函数将调整大小为指定大小(例如250*250),并将其放入另一个s3桶中。
我们有一个选项,用户可以看到大小调整的图像和批准按钮。
由于上传图像和调整大小是两个独立的实体,因此无法确定裁剪的图像是否成功或失败。
lambda函数
function cropImage(objectKey){
//do resize here
if(success){
//need to the objectKey in
尝试使用列出桶,但是在设置S3Client之后,我一直得到这样的错误:
<?php
require getcwd() . '/aws.phar' /*v3 of the SDK*/;
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
$credentials = new Aws\Credentials\Credentials('I put my', 'credentials here');
$s3 = new Aws\S3\S3Client([
'region
我已经编写了一个在Yii1中工作的S3上传器文件,但我正在尝试将其实现到新的Yii2应用程序中。下面是我的代码结构:
错误如下:找不到类'yii\labworkz\S3\S3‘
文件位置供应商/labworkz/AWS/S3.php
内容:
namespace yii\labworkz\S3;
use yii\base\Exception;
class S3 {
...
}
文件: controllers/UploadController.php
use yii\labworkz;
public function action