【问题标题】:upload image in s3 using byte array使用字节数组在 s3 中上传图像
【发布时间】:2016-08-22 22:35:06
【问题描述】:

您好,我想在 s3 中上传图片,我有字节数组。 我如何动态地将字节数组转换为临时 url?

$byte_arr = 'iVBORw0KGgoAAAANSUhEUgAAACIAAAAhCAYAAAHL1En6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAK
T2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AU
kSYqIQkQSogh';

    //$file_content = 'data:image/jpeg;base64, $byte_arr';
    //echo "<img src='data:image/jpeg;base64, $byte_arr' />";die;
    $s3->putBucket("bucketname", S3::ACL_PUBLIC_READ);
    $fileName = 'user_1.jpg';
    //move the file
    if ($s3->putObjectFile($file, "bucketname", $fileName, S3::ACL_PUBLIC_READ)) {
        echo "We successfully uploaded your file.";
    }else{
        echo "Something went wrong while uploading your file... sorry.";
    }

所以我的问题是如何从字节数组中获取 $file。我需要 tmp_url。

【问题讨论】:

    标签: php codeigniter amazon-s3


    【解决方案1】:

    你可以使用imagecreatefromstring()函数:

     $data = base64_decode($byte_arr);
     $formImage = imagecreatefromstring($data);
    

    【讨论】:

    • S3::inputFile(): Unable to open input file: Resource id #43 当我将 $formImage 放入 if ($s3->putObjectFile($formImage, "bucketname" , $fileName, S3::ACL_PUBLIC_READ))
    • 使用 imagecreatefromstring() 您可以将字符串转换为图像,现在您要做的是将该图像保存在某处并将该路径提供给 $s3->putObjectFile()
    • 是否有必要将此图片保存在某个地方,如果不保存图片,我不能即时获取图片网址吗?
    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2016-09-28
    • 2019-10-05
    • 2020-10-30
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    相关资源
    最近更新 更多