【问题标题】:Laravel 419 error using Uppy open source, how to add csrf token to Uppy?Laravel 419 错误使用 Uppy 开源,如何将 csrf 令牌添加到 Uppy?
【发布时间】:2020-02-16 20:34:05
【问题描述】:

在你们中的一些人将此标记为重复之前,因为使用 laravel 的错误 419 已被回答一百万次,这有点复杂,我似乎无法解决它。

我正在尝试使用Uppy 上传一些图像,但我似乎无法找到将 csrf 令牌添加到 Uppy 的方法。 (https://uppy.io/docs/tus/#headers)

const uppy = Uppy();
uppy.use(Dashboard, { target: '#drag-drop-area', inline: true, height: 450 });
uppy.use(Tus, {
     header: 'X-CSRF-TOKEN'+document.querySelector('[name=csrf-token]').getAttribute('content'),
     endpoint: 'https://mysitev/tus', // use your tus endpoint here
     resume: true,
     autoRetry: true,
     retryDelays: [0, 1000, 3000, 5000]
})

过去是否有人使用过 Uppy,如果有,您是如何包含 csrf_token 的?

谢谢

【问题讨论】:

    标签: javascript php laravel


    【解决方案1】:

    我没用过Uppy,但是如果你的代码在你的视图文件中,这意味着有刀片扩展名的文件可以使用刀片函数添加一个csrf令牌:

    headers: {
            'X-CSRFToken': " {{csrf_token()}} "
        }
    

    【讨论】:

    • 确实有效。我不敢相信我之前没想过只使用刀片扩展 - 谢谢你
    • ? 你可以在视图中编写你的 js 并且可以包括使用 push('scripts')
    【解决方案2】:

    试试看:

    uppy.use(Uppy.Tus, {
        endpoint: '{{ $endpoint }}',
        headers: {
            'X-CSRF-Token': " {{ csrf_token() }} "
        }
    })
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    猜你喜欢
    • 1970-01-01
    • 2021-08-18
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 2020-12-11
    相关资源
    最近更新 更多