<input id="uploadInput" type="file" />
var fileInput = $('#uploadInput');
for (var i = 0; i < fileInput[0].files.length; i++) {
var file = fileInput[0].files[i];
processprofilepic(file, '');
}
function processprofilepic(fileInput) {
var reader = new FileReader();
reader.onload = function (result) {
var fileName = '',
libraryName = '',
fileData = '';
var byteArray = new Uint8Array(result.target.result)
for (var i = 0; i < byteArray.byteLength; i++) {
fileData += String.fromCharCode(byteArray[i])
}
// once we have the file perform the actual upload
console.log("filename "+fileName);
setprofilepic(fileData);
};
reader.readAsArrayBuffer(fileInput);
}
function setprofilepic(fileData) {
url = shptService.appWebUrl + "/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture";
// use the request executor (cross domain library) to perform the upload
var reqExecutor = new SP.RequestExecutor(shptService.appWebUrl);
reqExecutor.executeAsync({
url: url,
method: "POST",
headers: {
"Accept": "application/json; odata=verbose",
"X-RequestDigest": fDigest
},
contentType: "application/json;odata=verbose",
binaryStringRequestBody: true,
body: fileData,
success: function (x, y, z) {
alert("Success! Your file was uploaded to SharePoint.");
},
error: function (x, y, z) {
alert("Oooooops... it looks like something went wrong uploading your file.");
}
});
}
No comments:
Post a Comment