如何将 Cordova Camera 插件与文件传输一起使用?

How to use Cordova Camera plugin with File Transfer?

我正在尝试上传一张用相机拍摄的照片,但是 运行 遇到了将生成的照片与文件传输捆绑在一起的问题。

我安装了以下插件: cordova-plugin-camera, cordova-plugin-file, cordova-plugin-file-transfer

我可以拍照并将其显示在离子页面中。我不明白的是如何将该照片与文件传输过程联系起来。拍摄和上传实时照片的真实端到端示例。

到目前为止,我遇到过很多拍摄照片或上传以前存在的文件的例子。但不能一蹴而就。

在相关说明中,我使用浏览器摄像头功能进行了此工作,并且可以将文件对象成功上传到我的 Web 服务(用 C# 编写)。它在 iOS 中工作,但最近 Android 设备出于某种原因不再提供要拍摄的实时照片(很想知道为什么)。

是否有任何端到端的示例,包括拍照、上传照片以及将其上传到 C# 编写的网络服务中?

你有没有试过这样做:

var options = {
    quality: 75,
    destinationType: Camera.DestinationType.FILE_URL,
    sourceType: Camera.PictureSourceType.CAMERA,
    allowEdit: false,
    encodingType: Camera.EncodingType.JPEG,
    targetWidth: 720,
    targetHeight: 1280,
    popoverOptions: CameraPopoverOptions,
    saveToPhotoAlbum: false,
    correctOrientation: true
};

return $cordovaCamera.getPicture(options).then(upload);

function upload(filePath) {
    return $cordovaFileTransfer.upload('http://example.com', filePath, {
        fileKey: 'file',
        fileName: 'example.jpeg',
        mimeType: 'image/jpeg'
    });
}