账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    swoole2.1.3协程http客户端上传图片报错是什么原因?
    78
    0

    开发环境

    wsl swoole2.1.3

    接口报错

    使用以前的代码去调接口时没有问题
    用swoole异步http很多时候会让接口报错

    The proxy server received an invalid response from an upstream server.

    本地报错

    本地很多时候也会报错

    WARNING swConnection_sendfile (ERROR 505): length or offset is invalid.

    代码如下

    $cli = new \Swoole\Coroutine\Http\Client($ip, $port, $ssl);
    $cli->set(['timeout' => 1]);
    $cli->setHeaders(['Host' => $host]);
    $cli->addFile($mergreImg, 'merge_file');
    $cli->addFile($templateImg, 'template_file');
    $cli->post('/imagepp/v1/mergeface', [
        'api_key'            => $this->api_key,
        'api_secret'         => $this->api_secret,
        'template_rectangle' => $templateRect,
        'merge_rate'         => $this->merge_rate,
    ]);
    $cli->close();
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 填海的精灵 普通会员 1楼

      在 swoole2.1.3 协程中上传图片报错的原因可能有以下几种:

      1. 服务器端设置:请检查服务器端上传图片的配置是否正确。可能需要设置 uploadDirmaxUploadSize 等参数。

      2. 文件类型:上传的文件可能不是上传服务器支持的格式。请检查上传的文件类型是否正确。

      3. 文件大小:上传的文件大小超过了服务器的限制。请检查上传文件的大小是否在服务器的最大限制内。

      4. SSL/TLS:如果上传文件需要通过 SSL/TLS 进行传输,那么请确保服务器已经设置好了正确的 SSL/TLS 配置。

      5. 服务器状态:如果服务器处于挂载状态或者挂载失败,那么请检查服务器的状态是否正常。

      6. 请求参数:请检查服务器端的请求参数设置是否正确。例如,如果请求参数中包含了文件名,那么请确保文件名已经正确地包含了在上传文件中看到的名称。

      7. PHP版本:请检查上传文件使用的 PHP 版本是否与服务器的 PHP 版本匹配。

      以上只是一些常见的原因,具体情况还需要根据实际情况进行排查。建议您可以尝试检查代码并提供更详细的错误信息,以便更好地找到问题的原因。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部