我可以使用桌面版 Chrome 拍照并将其上传到表单吗?

我可以使用桌面版 Chrome 拍照并将其上传到表单吗?

在 Android 上的 Google Chrome 上,当我浏览表单上要上传的文件时,我可以选择使用相机拍照并上传生成的图像。这无需“离开”Chrome 即可完成(也就是说,必须单独打开相机,拍照,切换回来并浏览最近拍摄的照片)

有没有办法在 Windows 上的 Google Chrome 上执行此操作?

相机可选择作为“浏览”操作

答案1

不,按照现在的 Windows 编程,你不能。

问题是,你的问题存在一个基本的误解。你在 Android 上看到的对话框是由操作系统提供,而不是由浏览器提供。您可以在 Android 上使用不同的浏览器,您将获得相同的对话框。此外,按下“相机”,手机的相机应用程序将打开(该应用程序在任何手机上都不同,具体取决于您的硬件和 OEM),以便您可以拍照,Android 操作系统会将这张照片直接传递给浏览器。这就是安卓系统编程让你能够做到这一点的方式。事实上,在各种情况下,您都会得到类似的对话框,并且可以选择多种操作,例如从任何应用程序共享内容时,或者将文件附加到电子邮件时。

视窗,另一方面,总是向你展示一个探索者对话框。句号。这是一种不同的方法,它贯穿整个操作系统,与您正在使用的应用程序无关。如果您想将附件发送到电子邮件,也会发生同样的事情:再次出现资源管理器对话框。

这是无法通过浏览器插件来改变这一点。html<input>标签总是会要求用户执行操作,出于安全原因,此类操作由操作系统处理:浏览器本身无权访问您的个人文件。您作为用户必须“告诉”操作系统:“请将我的这个私人文件交给浏览器”。即使在 Android 中,也会发生同样的事情:您作为用户告诉操作系统:“让我们使用相机来做这件事”。Chrome 浏览器只会接收操作系统传递给它的文件。

浏览器插件绝不允许劫持这样的操作,因为这将是一个重大的安全问题。

因此,(除了有人编写了丑陋的黑客程序)目前,这在 Windows 中是不可能的。然而,随着操作系统不断适应各种使用场景,可能某一天 - 由微软自行决定 - 在 Windows 11 中添加这样的功能。

答案2

您所要求的内容已包含在 HTML 媒体捕获标准 从 2018 年开始。

该标准在 此链接,甚至有一个似乎指向 Apple 桌面的演示图像:

在此处输入图片描述

新标准是<input>PC上标签的演变,目前仅用于上传文件。

新的 HTML<input>标签可以选择特定类型的文件,也可以从匹配的设备捕获数据。这是通过添加 HTML 属性<input>标签上。

这里有一个有用的属性 捕获

捕获属性指定(可选)应捕获新文件,以及应使用哪个设备来捕获由接受属性。

接受属性定义为:

accept属性以逗号分隔的一个或多个文件类型的列表作为其值,或者唯一文件类型说明符,描述允许哪些文件类型。

以下是使用这些属性的 HTML 代码示例:

<p>
  <label for="soundFile">What does your voice sound like?:</label>
  <input type="file" id="soundFile" capture="user" accept="audio/*">
</p>
<p>
  <label for="videoFile">Upload a video:</label>
  <input type="file" id="videoFile" capture="environment" accept="video/*">
</p>
<p>
  <label for="imageFile">Upload a photo of yourself:</label>
  <input type="file" id="imageFile" capture="user" accept="image/*">
</p>

如果 HTML 文件不使用这些属性,那么它所能做的就是从磁盘中选择一个文件,例如由相机应用程序预先创建的文件。

这些标签将让您记录 Chrome 何时正确实现它们。不幸的是,目前它们无法在桌面上运行。我已经在 Android Chrome 上运行了,我希望它出现在桌面上只是时间问题。

目前,媒体捕获需要大量的 JavaScript,如下图所示 例子

您需要等待 Chrome 开发人员将它们实现到桌面版 - 我们无法做到这一点。

答案3

如果我理解正确的话,你的问题是“如何在桌面版 Chrome 上获取选择操作 UI?”,

我对 SuperUser 还很陌生,但我认为您可以使用以下方法实现它:

  • 创建一个扩展以使该功能在加载的页面上保持运行。
  • 如果<input>单击,则运行 UI 函数,然后运行主函数(创建方法如下)

对于用户界面:

  • 您已经使用 JavaScript 编写了代码,您可以添加选项:“拍照”、“从文件中浏览”。

拍照并直接传递给输入:

  • 您必须编写一个 JavaScript 函数来与网络摄像头进行交互,这只有在用户授予权限时才有可能,然后单击照片,将其保存到localstorage,然后访问localstorage并将该数据作为输入。

请参阅以下链接以获取帮助:

相关内容