0

Hi Guys,

I am a beginner in sharepoint2013. I am trying to upload a file in document library using CSOM javascript.

I am trying to debug the code but cant find the error.Any help would be appreciated.

Below is my code.

$(“#uploadDocumentButton”).click(function () {
if (document.getElementById(“inputFile”).files.length === 0) {

alert(“Select a file!”);
return;
}
else {
debugger;
parts = document.getElementById(“inputFile”).value.split(“\\”);
filename = parts[parts.length – 1];
file = document.getElementById(“inputFile”).files[0];

var getFileBuffer = function (file) {
var deferred = $.Deferred();
var reader = new FileReader();
reader.onload = function (e) {
deferred.resolve(e.target.result);
}
reader.onerror = function (e) {
deferred.reject(e.target.error);
}
reader.readAsArrayBuffer(file);
return deferred.promise();
};

var UploadFunc = function () {
var deferreds = new Array(),
upload = function (context, filename, file) {
deferreds[deferreds.length] = $.Deferred();
getFileBuffer(file).then(
function (buffer) {
var bytes = new Uint8Array(buffer);
var content = new SP.Base64EncodedByteArray(); //base64 encoding
for (var b = 0; b < bytes.length; b++) {
content.append(bytes[b]);
}
var ctx = new SP.ClientContext.get_current();
var createInfo = new SP.FileCreationInformation();
createInfo.set_content(content); //setting the content of the new file
createInfo.set_overwrite(true);
createInfo.set_url(filename);
this.files = ctx.get_web().getFolderByServerRelativeUrl(context).get_files();
ctx.load(this.files);
this.files.add(createInfo);
ctx.executeQueryAsync(
Function.createDelegate(this,
function () { deferreds[deferreds.length – 1].resolve(this.files); }),
Function.createDelegate(this,
function (sender, args) { deferreds[deferreds.length – 1].reject(sender, args); }));
},
function (err) {

deferreds[deferreds.length – 1].reject(err);
}
);
return deferreds[deferreds.length – 1].promise();
}, getFileBuffer = function (file) {
};
return {
upload: upload
};
};
UploadFunc.upload(context, filename, file)
.then(
function (files) {
alert(“Uploaded successfully”);
},
function (sender, args) {
alert(args.get_message());
}
);
}
});
});

(Visited 33 times, 1 visits today)
Add a Comment