问题描述
我正在编写一个小工具,它允许我们从浏览器将文件存储在 JCR 中。代码很简单:
const jsonData = new Blob([JSON.stringify({ test: "test" })],{ type: 'application/json' });
const formData = new FormData();
formData.append(`file.json`,jsonData,`file.json`);
return fetch('/content/test/_jcr_content/my-data',{
method: 'POST',credentials: 'include',body: formData,});
但是当我在浏览器中发出此请求时,请求失败并显示 403
状态。我做了一些挖掘,似乎当我将 User-Agent
标头更改为不包含 Mozilla
的字符串时,请求成功。
现在,这将是一个简单的解决方案,但遗憾的是 Chrome 浏览器不允许覆盖 User-Agent
标头。
我进行了一些挖掘,并在 Sling AuthUtil
class that checks whether the request is a browser request.
isbrowserRequest
但是,我找不到可以启用浏览器请求的位置。
有谁知道为什么浏览器请求被阻止,以及我们如何配置 Apache Sling 以允许它们?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)