2017-05-01 26 views
1

我想創建一個JavaScript文件對象,我剛拍攝使用Ionic(cordova)Native Camera Plugin上傳的圖片。離子2 - 保存攝像頭圖片到JavaScript文件對象上傳

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

我不確定需要進入第一個參數將圖像存儲到文件對象。

謝謝!

+1

不能使用[Camera.DestinationType](https://github.com/apache/cordova-plugin-camera# module_Camera.DestinationType)選項來創建一個圖像文件並獲取它的參考? –

回答

1

您可以用相機選項返回圖像的Base64表示,然後將其轉換爲一個blob對象,並在該文件的構造函數傳遞此。

或者你可以只用相機插件選項,以獲取該文件的路徑,然後用科爾多瓦文件插件,您可以使用文件讀取器來獲取文件條目,並將該文件中的方式。

與此類似:

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); 

您將需要應用上面的代碼到離子,但希望你的想法。

這裏是離子文件插件文檔的鏈接:

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