Form Recognizer加载PDF时提示‘unable to load asset’错误及脚本加载失败求助
解决Form Recognizer加载PDF时的'unable to load asset'错误
从你描述的情况来看,核心问题其实是Form Recognizer处理PDF时依赖的PDF.js Worker脚本加载失败——那个Uncaught NetworkError已经明确指出了指定的pdf.worker.js文件无法加载,这直接导致了PDF文件解析失败,触发'unable to load asset'错误;而JPG文件不需要这个Worker脚本,所以能正常运行。
给你几个针对性的解决方案:
- 检查网络访问限制:先确认你的应用运行环境(比如企业内网、服务器防火墙)是否允许访问
fotts.azureedge.net这个域名。很多时候这类静态资源加载失败都是因为代理或防火墙拦截了外部CDN请求,需要把该域名加入访问白名单。 - 手动托管PDF.js Worker脚本:如果无法直接访问官方CDN,可以自行下载对应版本的
pdf.worker.js(必须是2.3.200版本,Form Recognizer对版本兼容性要求严格),放到你自己的静态资源服务中,然后在初始化Form Recognizer时指定自定义的Worker路径,示例代码如下:// 假设你将worker文件部署在自己服务器的/static/scripts/目录下 const formRecognizer = new FormRecognizerClient({ credential: yourAzureCredential, pdfjsWorker: '/static/scripts/pdf.worker.js' }); - 排查请求状态:打开浏览器开发者工具(按F12)切换到「Network」标签,刷新页面后查看
pdf.worker.js的请求状态:如果是404,说明路径有误;如果是超时/被阻止,那就是网络权限问题;如果是CORS错误,需要在你的静态资源服务配置CORS允许当前域名访问。 - 验证版本匹配:不要随意更换PDF.js Worker的版本,Form Recognizer绑定了特定版本(这里是2.3.200),使用其他版本大概率会出现兼容性问题,导致解析失败。
内容的提问来源于stack exchange,提问作者Johnnygizmo
相关产品推荐
相关产品推荐

