EditorJS上传文件至PHP服务器时CORS请求失败问题排查
EditorJS 文件上传 CORS 错误排查请求
需求与现有实现
- 核心目标:通过客户端EditorJS上传文件至PHP服务器,服务器保存文件后返回指定格式响应(EditorJS可自动将文件链接加入内容):
{ "success": 1, "file": { "url": "http://whatever.the/url-should-be.png" } } - 服务器端:编写
uploadByFile.php脚本,接收multipart/form-data格式的file参数,处理文件接收、错误检查、大小校验逻辑。 - 本地测试验证:用Insomnia模拟完全一致的请求(参数、请求头匹配),服务器返回
201 Created状态码及完整文件URL,功能正常。
CORS配置与问题现象
- 服务器端已添加CORS允许头:
header("Access-Control-Allow-Origin: *"); - EditorJS图片插件配置:
{ image: { class: Image, config: { endpoints: { byFile: 'https://cdn.appomgeving.nl/api/editorjs/uploadByFile.php', }, field: 'file' } }, } - 异常情况:使用EditorJS上传文件时触发CORS错误,错误提示为
Cross-Origin Resource Sharing error: HeaderDisallowedByPreflightResponse。 - 预检请求细节:EditorJS发送的OPTIONS预检请求返回
200状态码,响应头包含Access-Control-Allow-Origin: *,但后续实际上传请求仍报错。
疑问
已查阅相关资料,普遍指出需配置Access-Control-Allow-Origin,但该配置已正确添加,请问问题出在哪里?该如何解决?
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

