AEM仅视频上传失败图片正常,出现Granite JS及Sling错误求助
AEM视频上传失败(图片正常)排查方案
核心症状
- 图片上传功能正常,仅视频上传失败
- 前端出现Granite JS失败提示
- 后端日志报错:
03.03.2024 21:45:06.675 ERROR [10.178.68.215 [1709502306670] POST /content/dam/myassets/testfine.createasset.html HTTP/1.1]
org.apache.sling.servlets.resolver.internal.SlingServletResolver
Calling the error handler resulted in an error
org.apache.sling.api.scripting.ScriptEvaluationException:
排查步骤
1. 检查视频文件规格限制
- 确认AEM DAM的视频上传配置:查看
/libs/dam/content/assets/video节点属性,检查maxFileSize是否设置过小,导致大视频无法上传 - 验证视频格式:确认上传的视频格式(如MP4、MOV等)在AEM支持的媒体类型列表中,可在
/system/console/configMgr/org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl中检查媒体类型映射规则
2. 排查视频处理服务状态
- 检查视频转码相关bundle:登录
/system/console/bundles,确认com.adobe.granite.asset.core等视频处理核心bundle处于Active状态 - 查看任务队列:访问
/libs/dam/content/admin-console/jobs.html,检查是否有视频处理任务堆积或失败记录
3. 前端Granite JS报错定位
- 打开浏览器开发者工具(F12),在Console标签查看具体JS错误信息,确认是否为上传组件逻辑异常、请求超时或接口返回错误
- 在Network标签中找到视频上传的POST请求,查看响应状态码和返回内容,定位后端接口的具体错误
4. 后端脚本异常排查
- 定位处理上传的脚本:访问
/system/console/slingservletresolver,搜索/content/dam/myassets/testfine.createasset.html对应的处理脚本或servlet - 检查脚本权限:确认JSP/HTL脚本的执行权限,以及运行脚本的用户是否拥有DAM写入权限
- 查看完整异常栈:在
/crx-quickstart/logs/error.log中搜索完整的异常信息,找到导致脚本执行失败的具体原因(如空指针、依赖缺失)
5. 服务器资源检查
- 磁盘空间:确认AEM服务器的DAM存储目录(如
crx-quickstart/repository/datastore)是否有足够空间,视频文件体积较大,磁盘满会直接导致上传失败 - 资源占用:上传视频时查看服务器内存、CPU占用情况,资源耗尽会导致服务无法处理视频上传请求
内容的提问来源于stack exchange,提问作者krish
相关产品推荐
相关产品推荐

