使用XMLHttpRequest上传文件报delegate_blocked_by = "Opening Files"错误原因咨询
错误触发可能原因
- 本地文件权限不足或被占用
选中的上传文件所在路径属于操作系统受保护目录(例如Windows系统目录、macOS系统隐私目录),Chrome没有读取该文件的权限;或者文件正在被其他进程独占打开(如编辑器正在编辑、杀毒软件正在扫描),文件句柄被锁定导致浏览器无法读取文件内容。 - 文件状态在上传前发生变更
通过文件选择框拿到File对象后、发起XMLHttpRequest上传前,原文件被删除、移动、重命名或者修改了权限,浏览器实际读取文件内容时找不到目标文件,就会触发该错误。 - 浏览器安全/策略限制
如果是企业管理的Chrome浏览器,管理员可能通过组策略配置了浏览器可访问的文件路径、可上传的文件类型限制,命中限制规则时浏览器会拦截文件读取操作;另外如果页面是HTTP协议的非安全上下文,部分版本Chrome也会限制高风险文件的上传读取行为。 - 运行环境沙箱限制
如果上传功能运行在Chrome扩展、PWA、嵌入式Webview这类沙箱环境中,环境没有授予文件读取的相关权限,即使触发了文件选择,浏览器也无法实际读取文件内容。 - 特殊文件类型/结构拦截
如果选中的是快捷方式、符号链接这类指向其他文件的映射文件,Chrome默认不允许跟随读取链接指向的真实文件;另外如果文件大小超出了浏览器内置的单文件读取上限,也会触发读取拦截。
错误日志截图

内容的提问来源于stack exchange,提问作者Yehonatan Peleg
相关产品推荐
相关产品推荐

