上传文件,获取fakepath

Tar*_*len 1 node.js

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

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

C:\ fakepath\..

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

<input type="file" name="fileName" data-schema-key="fileName">
Run Code Online (Sandbox Code Playgroud)

Bru*_*olo 5

这个问题已在这里得到解答:如何解决C:\ fakepath?.

正如在C之谜中所评论的:伪路径揭晓:

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

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

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

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