95

我遇到了这个很棒的答案:

在 iPhone iOS6 和 Android ICS 之后,HTML5 具有以下标签,可让您从设备上拍照:

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

Capture 可以采用相机、摄像机和音频等值。

是否可以通过使用某种 ajax 在拍摄后立即上传照片来更进一步?

例如,使用我的手机,一旦我点击输入,它就会打开相机,这将立即让我拍照并保存。当我将它保存到相机时,它会被输入按钮列为要上传的文件。

要立即上传这张照片而不是等待用户单击表单的提交按钮需要什么?

4

1 回答 1

116

这样做真的很容易,只需通过文件输入的 onchange 处理程序中的 XHR 请求发送文件。

<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);
于 2013-06-21T18:29:29.480 回答