【问题标题】:Is there a chrome command line switch that allows me to read the full path on input type=file?是否有 chrome 命令行开关允许我读取输入类型 = 文件的完整路径?
【发布时间】:2012-12-04 04:49:19
【问题描述】:

正如标题所说,我正在寻找(我不知道它是否存在)一个命令行开关,当传递给启动 chrome 浏览器时,我可以读取元素的完整路径。

我做了一些阅读,看起来由于安全问题,在常规浏览器环境中是不可能的。

我为什么需要它?

我正在开发一个将在 CEF(铬嵌入式框架)中运行的 html/js 应用程序。所以知道文件的完整路径并不是真正的安全问题。我的应用程序有一个视频标签。我正在使用以下方法生成文件 url:

urls[urlIndex] = webkitURL.createObjectURL(file);

并将其提供给视频标签以像这样播放视频:

videoHandle.attr("src", urls[index -1]).get(0).play();

它在 chrome 浏览器中播放良好,但当我在 CEF 中播放时,它正在抛出一个

cefclient[1121] <Error>: clip: empty path.

我怀疑 CEF 无法理解 createObjectURL 生成的 url 格式。

blob:file%3A///1bd8d246-9bd4-464d-bb77-412ea877f952

所以,我正在尝试提供视频元素的绝对路径,因为这在 CEF 中运行良好。因此我需要文件的绝对路径。像这样的东西。

videoHandle.attr("src", "file:///C:/movies/test.mp4").get(0).play();

我希望这是有道理的。我很感激这方面的任何指示。

【问题讨论】:

  • 如果我正确理解您的解决方案,您建议我将 base 设置为“file:///C:/movies/”并使用文件名“test.mp4”w/视频元素。因此基础将自动附加到视频文件中。那正确吗?问题是用户可以选择任何目录。一旦用户选择了一个目录,我希望能够获取整个路径“file:///C:/movies/test.mp4”。
  • 我会试一试的。哦,我忘了提到我正在使用 --disable-web-security 和 --allow-file-access-from-files 启动 Chrome。 Chrome 工作正常(能够播放视频)w/webkitURL.createObjectURL(file);但我遇到问题的是 CEF(铬嵌入式框架),而且我正在启动 CEF 也有相同的论点。
  • 如果我使用 /// 它将不起作用。问题不在于 Chrome 或 CEF。它带有一个外部库,我用它来解释我们的加密视频文件。这个外部库拦截从视频元素到较低层的调用。它试图从 createObjectURL 'blob:file%3A///1bd8d246-9bd4-464d-bb77-412ea877f952' 生成的 url 中理解,但在此之上打开流失败,因为只有较低层的 chromium 可以解释它.所以现在我正在寻找 Chromium 中进行这种解释的代码。一个熟悉的 w/ Chromium 代码,请帮忙。
  • 我认为 SO Answer 将有助于从生成的 blob 中解析 URL。

标签: jquery html5-video blob chromium chromium-embedded


【解决方案1】:

根据Chromium Embedded Framework 网站,CEF1 不再支持HTML5 音频和视频 标签。

CEF1: Remove support for HTML5 audio & video tags.


如果您使用的是 CEF3 和 jwPlayer API,则存在一个已知问题,Bug Report 仅显示第一个视频帧(海报图片)但不播放视频。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2016-07-19
    • 2019-05-01
    相关资源
    最近更新 更多