###Setup Kinvey
###Initialize & Login
###Upload File
###Create Parent Object
###Save Relationship
###Retrieve Objects
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Kinvey File Demo</title> | |
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script> | |
<script src="https://da189i1jfloii.cloudfront.net/js/kinvey-angular-1.1.4.min.js"></script> | |
</head> | |
<body ng-app="kinveyUploadApp" ng-controller="MainCtrl as main"> | |
<input type="file" id="files" name="files[]"/> | |
<p ng-if="main.fileModel"> | |
File Size: {{main.fileModel.size}} Last Modified: {{main.fileModel['_kmd'].lmt | date:'yyyy-MM-dd HH:mm:ss Z'}} | |
</p> | |
<script> | |
angular.module('kinveyUploadApp', ['kinvey']) | |
.run(['$kinvey', function ($kinvey) { | |
// Kinvey initialization starts | |
var promise = $kinvey.init({ | |
appKey: '', | |
appSecret: '' | |
}); | |
promise.then(function () { | |
// Kinvey initialization finished with success | |
console.log("Kinvey init with success"); | |
var user = $kinvey.getActiveUser(); | |
if (null === user) { | |
return $kinvey.User.login({ | |
username: 'test', | |
password: 'test' | |
}); | |
} else { | |
return user; | |
} | |
}).then(function (_user) { | |
console.log("Kinvey got user " + JSON.stringify(_user)); | |
}, function (errorCallback) { | |
// Kinvey initialization finished with error | |
console.log("Kinvey init with error: " + JSON.stringify(errorCallback)); | |
}); | |
}]) | |
.controller('MainCtrl', [ '$kinvey', function ($kinvey) { | |
var that = this; | |
this.fileModel = {}; | |
this.teststring = 'test string value'; | |
angular.element(document).find('input')[0].addEventListener('change', function (e) { | |
var theFile = e.target.files[0]; | |
// save the file object | |
var promise = $kinvey.File.upload(theFile, { | |
_filename: theFile.name, | |
public: true, | |
size: theFile.size, | |
mimeType: theFile.type | |
}).then(function (_fileData) { | |
debugger; | |
console.log("[$upload] success: " + JSON.stringify(_fileData, null, 2)); | |
// now save the file parent, and create the relationship | |
// using the file _id | |
var fileParent = { | |
title: new Date() + " Saved Parent", | |
fileObject: { | |
_type: 'KinveyFile', | |
_id: _fileData._id | |
} | |
}; | |
that.fileModel = _fileData; | |
return $kinvey.DataStore.save('FileParent', fileParent); | |
}).then(function (_data) { | |
console.log("[fileObject] success: " + JSON.stringify(_data, null, 2)); | |
}, function error(err) { | |
console.log('[$upload] received error: ' + JSON.stringify(err, null, 2)); | |
}); | |
}, false); | |
}]); |