使用input type = file capture = camera在Android浏览器中上传照片时,防止将照片自动保存到图库

问题描述 投票:18回答:1

我正在使用着名的HTML 5方法来捕获和上传支持最新智能手机的图像。这是我的代码:

<input id="attach-file" type="file" accept="image/*" capture="camera">

在我关心的所有设备上都能很好地工作。

问题是这样的:

在Android上,您捕获的文件会自动保存到图库中。我在一个隐私和安全非常关键的应用程序中实现这一点。我们无法将文件保存到用户设备。有谁知道防止OS自动保存图片的方法?

android image upload camera autosave
1个回答
0
投票

没有办法阻止储蓄。

在Web应用程序中,客户端是沙盒,出于安全原因,您无法控制网站范围之外的任何内容。

但是,您可以尝试此解决方案(它不适用于所有设备):

  • 您可以使用<input>getUserMedia自行实现相机捕获,而不是使用<canvas>标记。
  • 仅将<input>方法用作后备(如果最终用户设备不支持getUserMedia)。

此方法将要求用户允许访问摄像机,但不会将其保存在用户的设备上,因为捕获将保存到内存中。 此外,如果需要将结果保存到服务器,则必须将画布转换为数据URI,然后将数据URI转换为blob,并使用multipart / form-data通过AJAX上载blob。

我建议谷歌“html5 camera getusermedia”获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.