Code I used to upload a document into a list based on search context in a displaytemplate
upLoadDocument: function(itemId, produkt) {
doSpAction(function(){
var inputFile = document.getElementById(itemId + "upload");
var btnUpLoad = $("#" + itemId + "btnupload");
var fileNameSpan = $("#" + itemId + "filename");
var uploadPnl = $("#" + itemId + "uploadPnl");
var doUpload = $("#" + itemId + "doUpload");
console.log(btnUpLoad);
$(inputFile).change(function() {
console.log("inputFile changed: " + inputFile.value);
fileNameSpan.html(inputFile.value);
uploadPnl.addClass("visible");
doUpload.hide();
});
btnUpLoad.click(fileClicked);
function fileClicked() {
var fileData = inputFile.files[0];
var fileReader = new FileReader();
fileReader.onload = upLoadFile;
fileReader.readAsArrayBuffer(fileData);
function upLoadFile(data) {
var bytes = new Uint8Array(data.target.result);
var fileContent = "";
var l = bytes.length;
for(var i = 0; i < length; i++) {
fileContent += String.fromCharCode(bytes[i]);
};
var clientContext = get_clientContextCurrent();
var documentList = clientContext.get_web().get_lists().getByTitle("Documents");
var date = new Date();
var tick = date.getTime();
console.log("File name:" + fileData.name);
var fileCreationInfo = new SP.FileCreationInformation();
fileCreationInfo.set_url(tick + "_"+ fileData.name);
fileCreationInfo.set_overwrite(true);
fileCreationInfo.set_content(fileContent);
var uploadedFile = documentList.get_rootFolder().get_files().add(fileCreationInfo);
var item = uploadedFile.get_listItemAllFields();
var siteIdD = getSiteValues();
var currentUserIdD = getCurrentUserId();
currentUserIdD.done(loadUserDone);
var currentUserId;
function loadUserDone(userId) {
console.log("User id ");
console.log(userId);
currentUserId = userId;
siteIdD.done(loadingSiteIdDone);
}
function loadingSiteIdDone(siteId) {
item.set_item("Foretak", siteId);
item.set_item("Produkt", produkt);
item.set_item("Mottaker", currentUserId);
item.update();
clientContext.load(uploadedFile);
clientContext.executeQueryAsync(function()
{
console.log("File uploaded");
window.location = "url";
}, Function.createDelegate(this, listFailedToLoad));
};
};
function listFailedToLoad() {
console.log(
"Request failed: " + arguments[1].get_message());
};
}
});
},
Comments