Strapi V5:CORS配置不生效及上传无法限制为PDF文件问题
问题2:上传插件无法限制仅接受PDF文件
配置plugin.js后,上传插件仍允许非PDF文件,尝试providerOptions和actionOptions中的设置均无效。当前配置如下:
upload: { config: { // sizeLimit: 5 * 1024 * 1024, // 5 MB provider: 'local', providerOptions: { sizeLimit: 5 * 1024 * 1024, // 5 MB extensions: ['.pdf'], allowedTypes: ['application/pdf'], }, actionOptions: { upload: { allowedTypes: ['application/pdf', // Allow PDFs // 'image/webp', // Allow WebP images // 'image/jpeg', // Allow JPG images // 'image/png', // Allow PNG images ], }, }, }, }
解决方案
- 修正配置结构:Strapi v5的上传插件配置需调整,确保
actionOptions覆盖所有上传动作,同时移除providerOptions中无效的extensions和allowedTypes(这些参数不属于本地存储提供者的配置项):
export default { upload: { config: { provider: 'local', providerOptions: { sizeLimit: 5 * 1024 * 1024, // 仅设置大小限制 }, actionOptions: { upload: { allowedTypes: ['application/pdf'], sizeLimit: 5 * 1024 * 1024, }, uploadStream: { allowedTypes: ['application/pdf'], sizeLimit: 5 * 1024 * 1024, }, update: { allowedTypes: ['application/pdf'], sizeLimit: 5 * 1024 * 1024, }, }, }, }, };
- 检查内容类型字段限制:在Strapi后台的内容类型编辑器中,针对使用媒体字段的内容类型,检查字段的「Allowed file types」设置——该设置会全局覆盖插件配置,需确保此处也仅勾选PDF。
- 验证MIME类型:测试上传时,确保客户端发送的文件MIME类型为
application/pdf,部分客户端可能错误识别文件类型导致限制失效。 - 重启服务:配置修改后重启Strapi,确保新配置生效。
内容的提问来源于stack exchange,提问作者Vatsal Soni
相关产品推荐
相关产品推荐

