upload

by dshilkret

HTML

<input id="getFile" type="file"/><br />
<input id="displayName" type="text" value="Enter a unique name" /><br />
<input id="addFileButton" type="button" value="Upload" onclick="uploadFileSP()"/>
<script>

function uploadFileSP(listName, id, fileName, file) { 
var deferred = $.Deferred(); 
 var getFile = getFileBuffer(file) 
.then(function (buffer) { 
var byteArray = new Uint8Array(buffer); 
var fileData = ''; 

for (var i = 0; i < byteArray.byteLength; i++) { 
fileData += String.fromCharCode(byteArray[i]); 
} 

executor.executeAsync({ 
url: appweburl + "/_api/web/lists/getbytitle('" + listName + "')/items(" + id + ")/AttachmentFiles/add(FileName='" + file.name + "')", 
method: "POST", 
headers: { 
"Accept": "application/pdf; odata=verbose", 
"X-RequestDigest": $("#__REQUESTDIGEST").val() 
}, 
binaryStringRequestBody: true, 
contectType: "application/pdf;odata=verbose", 
body: fileData, 
success: function (data) { alert('Pomyślnie dodano fakturę!'); window.location.replace("http://sharepoint-dev.ampliapps.com/FakturyBPNT-SharePoint-Hosted/Lists/Faktury/AllItems.aspx"); }, 
error: function (err) { alert('Wystąpił błąd podczas wprowadzania faktury.'); console.log(err); }, 
state: "Update" 
}) 
}, function (error) { deferred.reject(error); }); 
return deferred.promise(); 
}
</script>