将文件从HTML表单发送到AWS S3存储桶

时间:2020-08-11 17:05:56

标签: php amazon-s3

我要从html表单中获取文件,然后将其上传到AWS S3存储桶。

以下代码在我的计算机上找到文件的路径,然后将其上传到S3:

$bucketname = 'we-sign-files';
$file_path = '/Users/dripz/Desktop/wesign/uploads/5f31fc30410c17.68431957.jpg';
$key = basename($file_path);

try {
    $s3->putObject([
        'Bucket' => $bucketname,
        'Key'    => $key,
        'Body'   => fopen($file_path, 'r')
    ]);
} catch (Aws\S3\Exception\S3Exception $e) {
    echo $e->getMessage();
}

我应该在$file_path = 变量中添加什么代码以从用户的计算机获取图像,然后将其上传到S3?

1 个答案:

答案 0 :(得分:0)

使用file_get_contents: file_get_contents($ _ FILES ['uploadedfileFormField'] ['tmp_name']);

,然后您不需要:打开。 尝试捕获和错误处理必须照顾。

$bucketname = 'we-sign-files';
$fileName = $_FILES['uploadedfileFormField']['tmp_name']; 
$file_path = file_get_contents($fileName);
$key = basename($fileName);

try {
    $s3->putObject([
        'Bucket' => $bucketname,
        'Key'    => $key,
        'Body'   => $file_path
    ]);
} catch (Aws\S3\Exception\S3Exception $e) {
    echo $e->getMessage();
}