【问题标题】:Prevent auto-saving of photos to gallery when uploading photos in Android Browser using input type=file capture=camera在 Android 浏览器中使用 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 自动保存图片的方法?
【问题讨论】:
标签:
android
image
upload
camera
autosave
【解决方案1】:
没有办法阻止保存。
在 Web 应用程序中,客户端是沙盒的,出于安全原因,您无法控制网站范围之外的任何内容。
但是,您可以尝试这个解决方案(它不适用于所有设备):
- 您可以使用
getUserMedia 和<canvas> 自行实现摄像头捕捉,而不是使用<input> 标签。
- 仅将
<input> 方法用作备用方法(以防最终用户设备不支持getUserMedia)。
此方法将要求用户允许访问相机,但它不会保存在用户的设备上,因为捕获已保存到内存中。
此外,如果您需要将结果保存到服务器,则必须将画布转换为数据 URI,然后将数据 URI 转换为 blob,并通过 AJAX 使用 multipart/form-data 上传 blob。
我建议谷歌“html5 camera getusermedia”了解更多信息。