httprint.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. function uploadFile() {
  2. let photo = document.getElementById("upload-file").files[0];
  3. let copies = document.getElementById("copies").value;
  4. let formData = new FormData();
  5. formData.append("file", photo);
  6. formData.append("copies", copies);
  7. var uploadField = document.getElementById("upload-file");
  8. fetch("/api/upload", {method: "POST", body: formData})
  9. .then(function(response) {
  10. return response.json();
  11. })
  12. .then(function(reply) {
  13. if (reply && !reply.error) {
  14. $.toast({
  15. text: reply.message || "file sent to printer",
  16. heading: "DONE!",
  17. icon: "success",
  18. showHideTransition: "fade",
  19. allowToastClose: true,
  20. hideAfter: false,
  21. stack: 5,
  22. position: "top-center"
  23. });
  24. uploadField.value = null;
  25. copies.value = 1;
  26. } else {
  27. $.toast({
  28. text: reply.message || "unable to print file",
  29. heading: "ERROR!",
  30. icon: "error",
  31. showHideTransition: "fade",
  32. allowToastClose: true,
  33. hideAfter: 5000,
  34. stack: 5,
  35. position: "top-center"
  36. });
  37. }
  38. })
  39. .catch(function(err) {
  40. console.log(err);
  41. $.toast({
  42. text: "failed to send file",
  43. heading: "ERROR!",
  44. icon: "error",
  45. showHideTransition: "fade",
  46. allowToastClose: true,
  47. hideAfter: 5000,
  48. stack: 5,
  49. position: "top-center"
  50. });
  51. });
  52. }
  53. document.addEventListener("DOMContentLoaded", function(event) {
  54. let pbutton = document.getElementById("print-btn");
  55. pbutton.addEventListener("click", function(event) {
  56. uploadFile();
  57. });
  58. });