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

Gra*_*yda 5 google-chrome android

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

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

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

1NN*_*1NN 7

不,按照 Windows 当今的编程方式,您不能这样做。

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

另一方面,Windows总是向您呈现一个资源管理器对话框。时期。这是整个操作系统底层的一种不同方法,与您正在使用的应用程序无关。如果您想将附件发送到电子邮件,也会发生同样的情况:再次出现“资源管理器”对话框。

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

浏览器插件永远不会被允许劫持这样的操作,因为这将是一个主要的安全问题。

因此,(除了有人编写了丑陋的 hack 之外)目前,这在 Windows 中是不可能的。然而,随着操作系统不断适应各种使用场景,有一天(由 Microsoft 决定)可能会在 Windows 11 中添加这样的功能。


har*_*ymc 1

2018 年的HTML 媒体捕获标准涵盖了您所要求的内容 。

这个标准在这个链接中有更好的描述 ,甚至还有一个似乎指向苹果桌面的演示图像:

在此输入图像描述

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

新的 HTML<input>标签可以选择某种类型的文件,或者从匹配的设备捕获数据。 这是通过在标签上添加 HTML 属性<input>来完成的。

这里一个有用的属性是 capture

捕获属性指定应选择性地捕获新文件,以及应使用哪个设备来捕获由接受属性定义的类型的新媒体。

接受 属性定义为:

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>
Run Code Online (Sandbox Code Playgroud)

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

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

目前,媒体捕获需要大量 JavaScript,如本例所示 。

您需要等待 Chrome 开发人员在桌面上实现它们 - 我们不能这样做。