JSFiddle - React, Tailwind, and code Playground

by Michael Prosser

JavaScript

var data = JSON.parse('{"GUID":"52ed4e51-a5ae-4fa1-a8f2-916d7caacaa7","photo1":"Some bogus path to an image","photo2":"","photo3":""}');

var imagesHD = JSON.parse('[{"name":"photo1","data":"/clientPortal/includes/allSafe/forms/uploads/component-uploads/ALIVE-PHOTO-COMPONENT-1689679320726Screen Shot 2023-07-18 at 3.33.39 AM.png"}]');


function generateSubmissionFile(formID,formName,data,imagesHD){

	var rdata = JSON.parse(JSON.stringify(data));

	for(var i=0;i<imagesHD.length;i++){
  
  	rdata[imagesHD[i].name] = imagesHD[i].data;
  
  }
  
  var date = new Date();

  var Y = date.getFullYear();
  var m = date.getMonth()+1;
  var d = date.getDate();

  var H = date.getHours();
  var i = date.getMinutes();
  var s = date.getSeconds();

  if(m < 10){ m = "0" + m; }
  if(H < 10){ H = "0" + H; }
  if(i < 10){ i = "0" + i; }
  if(s < 10){ s = "0" + s; }
  
  let fileData = {
  	publisher: 'Agrisphere',
  	formID: formID,
  	formName: formName,
  	formData: rdata,
    formTimestamp: Y + '-' + m + '-' + d + ' ' + H + '∶' + i + '∶' + s
  }

	const link = document.createElement("a");
  const file = new Blob([JSON.stringify(fileData)], { type: 'application/json' });

  link.href = URL.createObjectURL(file);
  link.download = formName + " (" + Y + '-' + m + '-' + d + ' ' + H + '∶' + i + '∶' + s + ").agrisphere-form-submission";
  link.click();
  URL.revokeObjectURL(link.href);

}

generateSubmissionFile(17,"My Sample Form",data,imagesHD);