上传文件,获取fakepath

时间:2015-03-27 20:15:28

标签: node.js

我正在尝试通过API将视频上传到youtube

我使用HTML输入字段,但出于某种原因,它给了我一个像

这样的路径

C:\ fakepath \ ..

为什么会这样,我怎样才能获得正确的文件路径,因此我可以在我的请求中使用它

<input type="file" name="fileName" data-schema-key="fileName">

1 个答案:

答案 0 :(得分:5)

此问题已在此处得到解答:How to resolve the C:\fakepath?

The Mystery of c:fakepath Unveiled中所述:

  

根据HTML5的规范,如果您使用JavaScript操作其值字符串,则文件上载控件不应显示您选择的文件的真实本地路径。相反,处理文件信息的脚本返回的字符串是C:\ fakepath。

如果你只想留下文件名(为了“美容”目的),你可以做一个简单的字符串替换操作。

// Change the node's value by removing the fake path
inputNode.value = fileInput.value.replace("C:\\fakepath\\", "");

但是,您无法访问原始文件路径。 “这是有道理的 - 作为一个客户端,你不希望服务器知道你的本地机器的文件系统。如果所有浏览器都这样做会很好”,正如我在第一行引用的SO问题中已经指出的那样。答案。