【问题标题】:Error: Invalid stream reference provided Laravel 6错误:Laravel 6 提供的流引用无效
【发布时间】:2020-05-03 06:01:39
【问题描述】:

我正在使用带有 Passport 的 Laravel 6 创建 API,我正在尝试创建一个接收 2 个文件的端点,但是当我尝试使用 Vue 应用程序上传信息时收到此错误(它正在发送信息作为多部分/表单数据):

{
    "message": "Invalid stream reference provided",
    "exception": "Laminas\\Diactoros\\Exception\\InvalidArgumentException",
    "file": "C:\\proyectos\\prixet-backend\\vendor\\laminas\\laminas-diactoros\\src\\Stream.php",
    "line": 345,
    "trace": [
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laminas\\laminas-diactoros\\src\\Stream.php",
            "line": 60,
            "function": "setStream",
            "class": "Laminas\\Diactoros\\Stream",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laminas\\laminas-diactoros\\src\\StreamFactory.php",
            "line": 41,
            "function": "__construct",
            "class": "Laminas\\Diactoros\\Stream",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\symfony\\psr-http-message-bridge\\Factory\\PsrHttpFactory.php",
            "line": 111,
            "function": "createStreamFromFile",
            "class": "Laminas\\Diactoros\\StreamFactory",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\symfony\\psr-http-message-bridge\\Factory\\PsrHttpFactory.php",
            "line": 93,
            "function": "createUploadedFile",
            "class": "Symfony\\Bridge\\PsrHttpMessage\\Factory\\PsrHttpFactory",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\symfony\\psr-http-message-bridge\\Factory\\PsrHttpFactory.php",
            "line": 65,
            "function": "getFiles",
            "class": "Symfony\\Bridge\\PsrHttpMessage\\Factory\\PsrHttpFactory",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php",
            "line": 181,
            "function": "createRequest",
            "class": "Symfony\\Bridge\\PsrHttpMessage\\Factory\\PsrHttpFactory",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php",
            "line": 131,
            "function": "getPsrRequestViaBearerToken",
            "class": "Laravel\\Passport\\Guards\\TokenGuard",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php",
            "line": 94,
            "function": "authenticateViaBearerToken",
            "class": "Laravel\\Passport\\Guards\\TokenGuard",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\passport\\src\\PassportServiceProvider.php",
            "line": 283,
            "function": "user",
            "class": "Laravel\\Passport\\Guards\\TokenGuard",
            "type": "->"
        },
        {
            "function": "Laravel\\Passport\\{closure}",
            "class": "Laravel\\Passport\\PassportServiceProvider",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\RequestGuard.php",
            "line": 58,
            "function": "call_user_func"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\GuardHelpers.php",
            "line": 60,
            "function": "user",
            "class": "Illuminate\\Auth\\RequestGuard",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
            "line": 62,
            "function": "check",
            "class": "Illuminate\\Auth\\RequestGuard",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php",
            "line": 41,
            "function": "authenticate",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authenticate",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 105,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 683,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 658,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 624,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
            "line": 613,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
            "line": 170,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 130,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\spatie\\laravel-cors\\src\\Cors.php",
            "line": 28,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Spatie\\Cors\\Cors",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php",
            "line": 63,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\fideloper\\proxy\\src\\TrustProxies.php",
            "line": 57,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 171,
            "function": "handle",
            "class": "Fideloper\\Proxy\\TrustProxies",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php",
            "line": 105,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
            "line": 145,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php",
            "line": 110,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\public\\index.php",
            "line": 55,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "C:\\proyectos\\prixet-backend\\server.php",
            "line": 21,
            "function": "require_once"
        }
    ]
}

当我尝试使用 Postman 时,我遇到了同样的错误,但我尝试使用失眠休息时,它会毫无错误地上传文件。

发生这种情况有什么原因吗?

【问题讨论】:

  • 能否添加发送文件的Vue代码和上传文件的PHP代码?
  • link 这里是 Laravel 中接收图片的后台代码。 link 这是发送文件的 vuex 操作。 (当我发现这个错误试图弄清楚发生了什么时,我删除了一些其他可选参数)。

标签: php file laravel-6 laravel-passport


【解决方案1】:
  • 默认的“upload_max_filesize”为 2MB。
  • 需要增加“php.ini”文件中“upload_max_filesize”的大小。

它对我有用。

【讨论】:

  • 实际上,问题是我在 Windows 上使用php artisan serve 运行 Laravel,当我使用 apache 运行它时,它可以工作并且再也没有出现错误。
猜你喜欢
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 2016-12-20
相关资源
最近更新 更多