开发者社区> 问答> 正文

base64格式的图片文件如何上传到oss?

我要做自定义头像功能,插件截取出来的是base64格式的图片,我要上传到oss怎么搞?

展开
收起
爬行的菜鸟 2016-10-10 18:23:16 20128 0
3 条回答
写回答
取消 提交回答
  • 这个方法,亲测有效
    //上传文件(直接指定内容)
    /*
    $bucket_name 必选参数,必须符合bucket命名规范
    $object_name 必选参数,必须符合object命名规范
    $options 必选参数,该参内指定上传所需要的各种信息,具体各参数说明如下
    content 上传object的内容
    length 上传object的大小
    ALIOSS::OSS_HEADERS 该参数可选,如果指定,则可以设置该object的一些meta信息,可以设置的头信息如下:
    Expires 过期时间(milliseconds)
    Cache-Control 指定该Object被下载时的网页的缓存行为
    Content-Disposition 指定该Object被下载时的名称
    Content-Encoding 指定该Object被下载时的内容编码格式
    Content-Language 指定object被下载时候的语言
    x-oss-server-side-encryption 指定oss创建object时的服务器端加密编码算法
    */
    /上传文件(直接指定内容)代码**/
    $object_name = "testfile/test_0.txt";
    $content = "hello world.nThis is a test!";
    $options = array(

    'content' => $content,
    'length' => strlen($content),
    ALIOSS::OSS_HEADERS => array(
        'Expires' => 'Fir,28 Feb 2012 05:38:42 GMT',
        'Cache-Control' => 'no-cache',
        'Content-Disposition' => 'attachment;filename=',
        'Content-Encoding' => 'utf-8',
        'Content-Language' => 'zh-CN',
        'x-oss-server-side-encryption' => 'AES256',
    ),

    );
    $response = $client->upload_file_by_content($bucket_name,$object_name,$options);
    echo "n


    ";
    print_r($response);
    /**/
    2019-07-17 20:15:08
    赞同 展开评论 打赏
  • 需要分两步:

    1. 先把base64的内容写到本地文件;
    2. 把1中创建的文件上传到oss;

    具体如何把base64图片写到本地,可以参考:https://cnodejs.org/topic/4f939c84407edba2143c12f7

    希望对你有帮助。

    2019-07-17 20:15:08
    赞同 展开评论 打赏
  • 也想问一下,刚好遇到这个问题

    2019-07-17 20:15:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载