zoukankan      html  css  js  c++  java
  • hyperf上传到oss报错问题解决方案

    1 报错信息

    defalut.ERROR: : RequestId: [97]

    或者

    defalut.ERROR: MissingContentLength: You must provide the Content-Length HTTP header

    2 报错原因 

    可以看的出来阿里云的oss上传方法与  swoole的 hook_curl 出现了冲突。

     解决办法

    1  使用官方的filesystem

    # 首先执行
    composer require hyperf/filesystem
    # 使用阿里云 OSS 适配器时执行
    composer require xxtime/flysystem-aliyun-oss
    # 使用 S3 适配器时执行
    composer require league/flysystem-aws-s3-v3
    composer require hyperf/guzzle
    # 使用七牛云(测试)适配器时执行
    composer require overtrue/flysystem-qiniu
    # 使用内存适配器时执行
    composer require league/flysystem-memory
    # 使用腾讯云 COS 适配器时执行
    composer require overtrue/flysystem-cos
    

       链接  https://hyperf.wiki/2.0/#/zh-cn/filesystem 

    2  不使用阿里oss的 uploadFile 方法
    使用下面的方法
      $file = $this->request->file('upload'); 
    $resource= fopen($file->getRealPath(), 'r+');
       if (!is_resource($resource)) {
                 //错误处理
            }
            $i          = 0;
            $bufferSize = 1000000; // 1M
            while (!feof($resource)) {
                if (false === $buffer = fread($resource, $block = $bufferSize)) {
                    return false;
                }
                $position = $i * $bufferSize;
                $size     = $this->oss->appendObject($this->bucket, $path, $buffer, $position );
                $i++;
            }
            fclose($resource);
            

    或者 

     go(function()use($oss,$bucket,$filePath,$file){
                if(!$oss->doesObjectexist($bucket,$filePath)){
                    $oss->putObject($bucket,$filePath,$file)
                }
            })
    3 或者使用下面的composer包

    composer require reasno/swoole-aliyunoss-addon
     
  • 相关阅读:
    (转)CKEditor+CKFinder 配置
    asp.net一个带抽象工厂的三层架构完整实例
    windows phone 8 手机存储卡数据
    c#常用算法
    mvvm 事件命令
    windows phone 8 语音识别1
    windows phone 8 分辨率
    PHP通用防注入安全代码《转》
    SQL查询语句使用详解《转》
    PHP中文件包含语句的区别《转》
  • 原文地址:https://www.cnblogs.com/aln0825/p/13967217.html
Copyright © 2011-2022 走看看