使用表单输入访问相机和立即上传照片使用网络应用程序

我偶然发现了 这个答案,它非常棒:

在 iPhoneiOS6和 Android ICS 之后,HTML5具有以下特性 这个标签允许你从你的设备上拍照:

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

捕获可以采取数值,如相机,摄像机和音频。

是否有可能进一步使用 Ajax 的一些类型,立即上传照片后,采取这一步?

例如,使用我的手机,一旦我点击输入,它然后打开相机,将立即允许我采取一张照片,并保存它。当我把它保存到相机里,它就会被输入按钮列为要上传的文件。

如何才能让这张照片立即上传,而不是等待用户点击表单的“提交”按钮?

139738 次浏览

It's really easy to do this, simply send the file via an XHR request inside of the file input's onchange handler.

<input id="myFileInput" type="file" accept="image/*;capture=camera">


var myInput = document.getElementById('myFileInput');


function sendPic() {
var file = myInput.files[0];


// Send file here either by adding it to a `FormData` object
// and sending that via XHR, or by simply passing the file into
// the `send` method of an XHR instance.
}


myInput.addEventListener('change', sendPic, false);