在 Android 浏览器中使用 input type=file capture=camera 上传照片时,防止将照片自动保存到图库
Posted
技术标签:
【中文标题】在 Android 浏览器中使用 input type=file capture=camera 上传照片时,防止将照片自动保存到图库【英文标题】:Prevent auto-saving of photos to gallery when uploading photos in Android Browser using input type=file capture=camera 【发布时间】:2014-01-30 02:49:00 【问题描述】:我正在使用众所周知的html 5
方法来捕获和上传支持最新智能手机的图像。这是我的代码:
<input id="attach-file" type="file" accept="image/*" capture="camera">
在我关心的所有设备上都能完美运行。
问题是这样的:
在 android 上,您捕获的文件会自动保存到库中。我在隐私和安全性非常重要的应用程序中实现了这一点。我们无法将文件保存到用户的设备。有谁知道防止OS
自动保存图片的方法?
【问题讨论】:
我也很想看到这个问题的答案。 你找到答案了吗? 不,我没有。 【参考方案1】:没有办法阻止保存。
在 Web 应用程序中,客户端是沙盒的,出于安全原因,您无法控制网站范围之外的任何内容。
但是,您可以尝试这个解决方案(它不适用于所有设备):
您可以使用getUserMedia
和<canvas>
自行实现摄像头捕捉,而不是使用<input>
标签。
仅将<input>
方法用作备用方法(以防最终用户设备不支持getUserMedia
)。
此方法将要求用户允许访问相机,但它不会保存在用户的设备上,因为捕获已保存到内存中。 此外,如果您需要将结果保存到服务器,则必须将画布转换为数据 URI,然后将数据 URI 转换为 blob,并通过 AJAX 使用 multipart/form-data 上传 blob。
我建议谷歌“html5 camera getusermedia”了解更多信息。
【讨论】:
以上是关于在 Android 浏览器中使用 input type=file capture=camera 上传照片时,防止将照片自动保存到图库的主要内容,如果未能解决你的问题,请参考以下文章