使用BlueImp JQuery Fileupload在手机上上传相机拍摄的照片

使用BlueImp JQuery Fileupload在手机上上传相机拍摄的照片,jquery,mobile,blueimp,Jquery,Mobile,Blueimp,我正试图允许从Android设备上传相机照片(我希望它也支持iPhone,但目前我主要关心的是让它与Android一起工作)。我正在使用BlueImp的JQuery文件上传插件,它在桌面上运行良好。在手机上,当我用相机拍照时,它会显示上传过程(我有一个进度条),但“完成”功能实际上从未启动 我应该注意的是,我可以选择一张已经保存在移动设备上的照片并上传,这很好,只有当我从弹出菜单中选择“相机”选项时,它才会失败 这是在使用Chrome的Android 4.4.4上实现的 Javascript:

我正试图允许从Android设备上传相机照片(我希望它也支持iPhone,但目前我主要关心的是让它与Android一起工作)。我正在使用BlueImp的JQuery文件上传插件,它在桌面上运行良好。在手机上,当我用相机拍照时,它会显示上传过程(我有一个进度条),但“完成”功能实际上从未启动

我应该注意的是,我可以选择一张已经保存在移动设备上的照片并上传,这很好,只有当我从弹出菜单中选择“相机”选项时,它才会失败

这是在使用Chrome的Android 4.4.4上实现的

Javascript:

$photoUpload.fileupload({
    url: '/image/uploadimage/',
    dataType: 'json',
    acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
    done: function (e, data) {

        var $formImageUpload =  $(this).parents('.form');
        $formImageUpload.find('.imageUrl').val(data.result.filePath).attr('type', 'hidden');
        $formImageUpload.find('.photoPreview').attr('src', data.result.filePath).show();
        $formImageUpload.find('.buttonResetImageForm').show();

    },
    progressall: function (e, data) {
        var $formImageUpload =  $(this).parents('.form');

        var progress = parseInt(data.loaded / data.total * 100, 10);
        $formImageUpload.find('.progress .progress-bar').css(
            'width',
            progress + '%'
        );
    }
})

结果证明它和蓝精灵完全无关。这是服务器端的大小限制。一旦我更改了NGINX和PHP-FPM配置以允许更大的文件,它就工作得很好。

看看Chrome文件系统API,您可以在设备上保存和检索文件--