使用sqlite Ionic App离线保存图像

时间:2017-06-13 10:50:53

标签: angularjs image ionic-framework

我正在研究需要离线工作的离子项目。我的问题是,如何在sqlite数据库中离线保存上传的图像,并在跟踪任何wifi连接时,同步到在线。

使用cordova相机插件和filetransfer插件,在线图片上传工作正常。

1 个答案:

答案 0 :(得分:1)

您可以使用cordova文件插件的copyfile方法在本地存储图像,然后将其链接保存在数据库中以供进一步使用。检测到wifi后,只需使用该链接将文件上传到具有相同cordovafile插件的服务器即可。

$cordovaCamera.getPicture(options).then(function(sourcePath) { //for capturing image

console.log(sourcePath);
var sourceDirectory = sourcePath.substring(0, sourcePath.lastIndexOf('/') + 1);  //image file with path url
var sourceFileName = sourcePath.substring(sourcePath.lastIndexOf('/') + 1, sourcePath.length); //image name
console.log("Copying from : " + sourceDirectory + sourceFileName);
console.log("Copying to : " + cordova.file.dataDirectory + sourceFileName);

//used to store file locally
$cordovaFile.copyFile(sourceDirectory, sourceFileName, 
 cordova.file.dataDirectory, sourceFileName).then(function(success) {
  $scope.fileName = cordova.file.dataDirectory + sourceFileName;
  console.log($scope.fileName, success);
  $scope.propic = $scope.fileName;

}, function(error) {
  console.log(error);
});
}, function(err) {
  console.log(err);
});