【问题标题】:ionic 2 - save camera picture to javascript File Object for uploadionic 2 - 将相机图片保存到 javascript 文件对象以供上传
【发布时间】:2023-03-14 02:59:02
【问题描述】:

我想为我刚刚使用 Ionic (cordova) Native Camera Plugin 上传的照片创建一个 javascript 文件对象。

Camera.getPicture().then(imageData => {
  let file = new File([???], 'filename', {type:'image/jpeg', lastModified:moment.now()})
})

我不确定第一个参数需要输入什么才能将图像存储到文件对象。

谢谢!

【问题讨论】:

标签: javascript cordova ionic2 cordova-plugins


【解决方案1】:

您可以使用相机选项返回图像的 base64 表示,然后将其转换为 blob 对象并将其传递给 File 构造函数。

或者您可以只使用相机插件选项来获取文件的路径,然后使用 Cordova 文件插件,您可以使用文件阅读器获取文件条目并以这种方式传递文件。

与此类似:

var cameraOptions = {
    destinationType: Camera.DestinationType.FILE_URI
};

function cameraSuccess(data){

    window.resolveLocalFileSystemURL(data, function(fileEntry) {
        fileEntry.file(function(fileObject){

            var newFile = new File([fileObject], 'filename', {type:'image/jpeg', lastModified:moment.now()})

        }, fileFail);
    }, fileFail);

}

function fileFail(){

    //Handle file errors

}

navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);

您需要将上述代码应用于 ionic,但希望您能理解。

这里是离子文件插件文档的链接:

https://ionicframework.com/docs/native/file/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 2018-01-29
    • 2018-06-24
    • 2015-04-10
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多