我想使用ck编辑器存储我的图像。但即使我将csrf标记设置为请求标头,它也会返回419 http状态。
let token = document.head.querySelector('[name=csrf-token]').content,
document.querySelector('#article_editor').on('fileUploadRequest', function (evt) {
var xhr = evt.data.fileLoader.xhr;
xhr.setRequestHeader('Cache-Control', 'no-cache');
xhr.setRequestHeader('X-File-Name', this.fileName);
xhr.setRequestHeader('X-File-Size', this.total);
xhr.setRequestHeader('X-CSRF-Token', token);
xhr.send(this.file);
// Prevented the default behavior.
evt.stop()
});
我该如何解决这个问题?
我已经在head标签之间设置了csrf meta。尽管如此,我仍然遇到错误..
<head>
...
<meta name="csrf-token" content="{{ csrf_token() }}">
...
</head>
答案 0 :(得分:2)
我有一个类似的问题。我确实将上传URL添加到 VerifyCsrfToken.php (应用程序/ Http /中间件)中。在此文件中,我添加了“上传图片/” 。这样可以解决您的问题。但是,发布没有CSRF的数据可能会带来风险。
答案 1 :(得分:0)
只需添加刀片:
<meta name="csrf-token" content="{{ csrf_token() }}">
然后在您的simpleUpload配置中(如果使用的话):
simpleUpload: {
uploadUrl: '/* your path */',
headers: {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
}
}