【问题标题】:Meteor Android uploading Data URI to Amazon S3Meteor Android 将数据 URI 上传到 Amazon S3
【发布时间】:2023-04-10 23:57:02
【问题描述】:

为什么我无法上传使用 mdg:camera 拍照的结果?我已经阅读了无数 AWS S3 上传论坛和 Meteor 相机 UI 论坛,但找不到将 DATA URI 文件上传到 S3 的正确方法。我尝试将其转换为 Blob、File、DATA URL、DATA URI、Canvas、Form,均无济于事。

如果我只是上传一个文件,它可以完美地工作,但从一个 DATA URI 文件开始它就不行。不过没有错误,它只是什么都不做。

Meteor.CameraUI.getPicture({
    quality: 50
}, function(error, data){
    S3.upload({
        files: data,
        path: '/'
       }, function(e, r){
        console.log(r);
    });
});

【问题讨论】:

    标签: cordova meteor camera android-camera


    【解决方案1】:

    您需要将其转换为 blob,然后添加名称属性。这些上传非常不稳定,通常只会上传一个空文件。

    我使用此实用程序将 URI 转换为 blob:

    https://github.com/blueimp/JavaScript-Canvas-to-Blob

    还有一些像这样的代码:

    var blob = dataURLtoBlob(dataUrl);
    blob.name = "filename.png";
    

    您应该能够从那里将 blob 发送到 S3。

    【讨论】:

    • stackoverflow 上有很多类似问题的答案。我的问题特别是使用从 MDG:Camera 包为 Meteor 返回的 DATA URI。 Amazon S3 似乎不接受“Blob”作为“文件”。我尝试使用 Canvas 将其转换为 blob,但它每次都上传空文件。
    猜你喜欢
    • 1970-01-01
    • 2018-09-07
    • 2013-11-03
    • 2011-11-10
    • 2014-06-26
    • 2020-05-04
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多