You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome需添加哪个标志以屏蔽c:/fakepath并获取真实文件路径?

获取Chrome上传文件/目录的完整真实路径方案

我太懂你这种无奈了——明明IE里能轻松通过设置拿到完整路径,到Chrome这儿就只能拿到没用的相对路径,还试了--allow-file-access-from-files标志也不管用。咱先把这事掰碎了说:

为啥Chrome会隐藏真实路径?

这是Chrome的核心安全机制,目的是防止恶意网站获取你的本地文件系统结构,避免隐私泄露。所以它刻意把上传文件的真实路径替换成相对路径,这不是一个可以随便关掉的“小设置”,而是浏览器的安全底线。

你试的标志为啥没用?

--allow-file-access-from-files这个参数的作用是允许本地HTML文件访问其他本地文件,比如你在本地打开一个html,想加载同目录下的其他资源时才有用,和上传文件时获取完整路径完全是两码事,自然解决不了你的问题。

可行的解决方案

1. 使用File System Access API(官方推荐)

这是Chrome等现代浏览器提供的合规API,能让用户主动授权网站访问本地文件/目录,之后就能拿到完整路径。举个简单的代码示例:

async function pickDirectoryAndGetPaths() {
  // 弹出目录选择框,需要用户主动授权
  const directoryHandle = await window.showDirectoryPicker();
  
  // 遍历目录下的文件/子目录
  for await (const entry of directoryHandle.values()) {
    console.log(`文件名:${entry.name},完整路径:${entry.fullPath}`);
  }
}

注意:这个API需要在HTTPS环境下使用(本地开发用localhost也可以),而且必须由用户主动触发(比如点击按钮),不能自动调用。

2. 传统上传的局限性

如果你的场景必须用传统的<input type="file" webkitdirectory>上传方式,那很遗憾——Chrome没有任何设置或标志能让你拿到真实完整路径,这是浏览器硬编码的安全限制,没有绕过的办法。

关于IE的差异

IE的安全模型相对老旧,所以保留了“允许本地文件访问”的开关,但现在主流浏览器都放弃了这种设计,毕竟隐私和安全优先级更高。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:35:01