我正在尝试通过API将视频上传到youtube
我使用HTML输入字段,但出于某种原因,它给了我一个像
这样的路径C:\ fakepath \ ..
为什么会这样,我怎样才能获得正确的文件路径,因此我可以在我的请求中使用它
<input type="file" name="fileName" data-schema-key="fileName">
答案 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问题中已经指出的那样。答案。