使用laravel和postman在AWS中更新映像的预发布请求?

时间:2020-06-09 07:40:53

标签: laravel amazon-web-services amazon-s3

我正在开发一个API,该API使用laravel使用预先签名的发布请求将图像从邮递员直接上传到AWS特定目录。以下是我用来生成json策略的代码。

以下是我要更新图像的步骤: 1)提供AWS策略详细信息和AWS详细信息的API。 2)前端将点击AWS并上传图像并返回图像URL。 3)将点击另一个API将返回的URL存储在数据库中。

这是正确的方法吗?

以下是我在函数中编写的代码。

    $imageName = time().'.'.request()->image->getClientOriginalExtension();
    $client = new S3Client([
        'version' => 'latest',
        'region' => env('AWS_DEFAULT_REGION'),
    ]);
    $bucket = env('AWS_BUCKET');
    $formInputs = ['acl' => 'public-read'];
    $options = [
        ['acl' => 'public-read'],
        ['bucket' => $bucket],
        ['starts-with', '$key', config('filesystems.s3_patient_images_partial_path').$patient->id.'/'.$imageName],
    ];
    $expires = '+2 hours';  
    $postObject = new \Aws\S3\PostObjectV4($client,$bucket,$formInputs,$options,$expires);
    $formAttributes = $postObject->getFormAttributes();
    $formInputs = $postObject->getFormInputs();
    return $formInputs;

所以我的问题是,在收到json格式的响应后,前端开发人员将点击该URL上传图片!这是正确的方法!除了在哪里写,只有jpg,png图像可以接受并且大小特殊?

0 个答案:

没有答案