laravel usa aws s3

Carregamento/exclusão de arquivo API
1. Instalar
compositor de extensão requer aws/aws-sdk-php-laravel

2. Registrar serviço
#app/config/app.php

// Anexe o seguinte código à matriz de provedores
Aws\Laravel\AwsServiceProvider::class,

// Anexe o seguinte código ao array de aliases
'AWS' => Aws\Laravel\AwsFacade::class,

3. Arquivo de configuração
#app/config/aws.php
return [
    'version' =>'latest',
    'region' => env('AWS_REGION', 'ap-south-1'), 'endpoint' => env('AWS_ENDPOINT', 'https://s harerabc.s3.ap- south-1.amazonaws.com'), 'use_path_style_endpoint' = >true, ' credenciais' => [ 'key' => env('AWS_KEY', 'YOUR_AWS_ACCESS_KEY'), ' secret' => env('AWS_SECRET', 'YOUR_AWS_SECRET_K
    EY
    '
    )
        ,
        ]
    ,
    'Ses' => [
        'region' => env('AWS_SES_REGION', 'ap-south-1'),
    ],
];

4. Certificado de upload do servidor
# /home/www/.aws/
# vim credenciais (o nome do arquivo deve ser: credenciais)

[padrão]
aws_access_key_id = YOUR_AWS_ACCESS_KEY
aws_secret_access_key = YOUR_AWS_SECRET_KEY

[project1]
aws_access_key_id = YOUR_AWS_ACCESS_KEY
aws_secret_access_key = YOUR_AWS_SECRET_KEY   


5. Upload de arquivo
    public function add(){         $s3Client = AwsFacade::createClient('s3');

        $s3_return = $s3Client->putObject([
            'Bucket' => date('Ymd'), //balde de armazenamento (meu entendimento é um diretório no sistema de arquivos) 'Key' => time() . '.png', //nome do arquivo (
            incluindo o sufixo)
            'Body' => file_get_contents('img/demo.png') //arquivo a ser carregado
        ]);

        if($s3_return['@metadata']['statusCode'] == 200){             echo $s3_return['@metadata']['effectiveUri'];         } else {             echo 'erro no valor de retorno: falha no retorno! ';         }     } 6. Exclusão de arquivo     public function del(){         $s3Client = AwsFacade:: createClient('s3');         $bucket = 'demo';









        $s3Client->deleteObjects([
            'Bucket' => $bucket,
            'Delete' => [
                'Objects' => [['Key' => '20210208/1612777025.png']]
            ]
        );
    }

 

Referência: https://www.bilibili.com/video/BV1yg4y1i79v?t=887

https://blog.csdn.net/qq_43489208/article/details/113759771

    'YOUR_AWS_SECRET_KEY'), ],     // Você pode substituir configurações para serviços específicos     'Ses' => [



 















        'region' => env('AWS_SES_REGION', 'cn-north-1'),
    ],
];
     region representa uma região com logotipo fixo, conforme a figura:

    'Chave' =>$arquivo ]); $s3_pre_signed_return = $s3->createPresignedRequest($s3_command, '+30 minutos'); //Duração da existência temporária (número de minutos)







    











$presigned_url = (string)$s3_pre_signed_return->getUri();
3.2 Para obter visualização on-line de arquivos no bucket público permanente (URL simples), você
deve primeiro definir o bucket para permissão pública (não sei como definir isso, uso 3.1) e, em seguida, chamar diretamente o seguinte código para obter o URL

'yedan-school-common']; if(!empty($list_buckets)) { //Faça um julgamento não vazio
















    foreach ($list_buckets as $bucket) {         if (!in_array($bucket['Name'], $not_del)) { //Excluir buckets que não desejam ser processados ​​//Obter a lista de objetos (arquivos) no bucket $list_objects = $s3->listObjects(['Bucket' => $bucket['Name']])['Contents']; if (!empty($list_objects )) { //Faça julgamento não vazio foreach ($list_objects as $object) { //Excluir arquivos no bucket, porque buckets com arquivos não podem ser excluídos $s3->deleteObject([ ' Bucket ' = > $             bucket             [             '                 Name                     '                     ]                         ,                         'Key'=>$object['Key']                     ]);                 }             }             $s3->deleteBucket(['Bucket' => $bucket['Name']]); //delete bucket         }     }















}
Link de referência: https://blog.csdn.net/a26637896/article/details/103156580

Supongo que te gusta

Origin blog.csdn.net/qiuziqiqi/article/details/117229128
Recomendado
Clasificación