上传文件,获取虚假path

我试图通过他们的API将video上传到YouTube

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

C:\ fakepath \ ..

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

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

这个问题已经在这里回答了: 如何解决C:\ fakepath? 。

正如“c:fakepath的奥秘”中评论的那样:

根据HTML5的规范,如果您使用JavaScript处理其值string,file upload控件不应该显示您select的文件的真实本地path。 相反,处理文件信息的脚本返回的string是C:\ fakepath。

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

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

但是,您不能访问原始文件path。 “这是有道理的 – 作为一个客户端,你不希望服务器知道你的本地机器的文件系统,如果所有的浏览器都这样做,那将是非常好的”,正如我在第一行中引用的SO问题回答。