Steps
  • Create SharePoint page in pages library.
  • Add Content Editor Web part in SharePoint page.
  • Create a .txt file and save the code given below in txt file. Ex- "fileUpload.txt"
  • Upload fileUpload.txt in Site Assets library.
  • Refer the script file from CEWP and save the page.

fileUpload.txt - Code
  1. <html>
  2. <head>
  3. <script language="javascript" type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
  4. <script language="javascript" type="text/javascript">
  5. var fileInput;
  6. $(document)
  7. .ready(function () {
  8. fileInput = $("#getFile");
  9. SP.SOD.executeFunc('sp.js', 'SP.ClientContext', registerClick);
  10. });
  11. function registerClick() {
  12. //Register File Upload Click Event
  13. $("#addFileButton").click(readFile);
  14. }
  15. var arrayBuffer;
  16. function readFile() {
  17. //Get File Input Control and read th file name
  18. var element = document.getElementById("getFile");
  19. var file = element.files[0];
  20. var parts = element.value.split("\\");
  21. var fileName = parts[parts.length - 1];
  22. //Read File contents using file reader
  23. var reader = new FileReader();
  24. reader.onload = function (e) {
  25. uploadFile(e.target.result, fileName);
  26. }
  27. reader.onerror = function (e) {
  28. alert(e.target.error);
  29. }
  30. reader.readAsArrayBuffer(file);
  31. }
  32. var attachmentFiles;
  33. function uploadFile(arrayBuffer, fileName) {
  34. //Get Client Context,Web and List object.
  35. var clientContext = new SP.ClientContext();
  36. var oWeb = clientContext.get_web();
  37. var oList = oWeb.get_lists().getByTitle('Documents');
  38. //Convert the file contents into base64 data
  39. var bytes = new Uint8Array(arrayBuffer);
  40. var i, length, out = '';
  41. for (i = 0, length = bytes.length; i < length; i += 1) {
  42. out += String.fromCharCode(bytes[i]);
  43. }
  44. var base64 = btoa(out);
  45. //Create FileCreationInformation object using the read file data
  46. var createInfo = new SP.FileCreationInformation();
  47. createInfo.set_content(base64);
  48. createInfo.set_url(fileName);
  49. //Add the file to the library
  50. var uploadedDocument = oList.get_rootFolder().get_files().add(createInfo)
  51. //Load client context and execcute the batch
  52. clientContext.load(uploadedDocument);
  53. clientContext.executeQueryAsync(QuerySuccess, QueryFailure);
  54. }
  55. function QuerySuccess() {
  56. console.log('File Uploaded Successfully.');
  57. alert("File Uploaded Successfully.").
  58. }
  59. function QueryFailure(sender, args) {
  60. console.log('Request failed with error message - ' + args.get_message() + ' . Stack Trace - ' + args.get_stackTrace());
  61. alert("Request failed with error message - " + args.get_message() + " . Stack Trace - " + args.get_stackTrace());
  62. }
  63. </script>
  64. </head>
  65. <body>
  66. <input id="getFile" type="file" /><br /> <input id="addFileButton" type="button" value="Upload" />
  67. </body>
  68. <html>
Now, refresh the page.
Select the file and click upload.

Now, go to Document library and verify your uploaded document.