mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-10 05:26:52 +03:00
.
This commit is contained in:
@@ -30,7 +30,7 @@ input[type=number] {
|
||||
|
||||
<body style="font-family: arial; padding: 0px 10px;">
|
||||
<h2>Backup Configuration</h2>
|
||||
<p>With the following action the config folder on the SD-card gets zipped and provided as a download.</p>
|
||||
<p>With the following action the <a href="/fileserver/config/" target="_self">config</a> folder on the SD-card gets zipped and provided as a download.</p>
|
||||
|
||||
<table border="0">
|
||||
</tr>
|
||||
@@ -44,8 +44,7 @@ input[type=number] {
|
||||
</table>
|
||||
<hr>
|
||||
<h2>Restore Configuration</h2>
|
||||
<p>Not implemented yet.<br>
|
||||
But you can use the <a href="/fileserver/config" target="_self">File Server</a> to upload individual files.</p>
|
||||
<p>Use the <a href="/fileserver/config/" target="_self">File Server</a> to upload individual files.</p>
|
||||
</body>
|
||||
|
||||
|
||||
@@ -54,15 +53,19 @@ But you can use the <a href="/fileserver/config" target="_self">File Server</a>
|
||||
<script>
|
||||
|
||||
function doBackup() {
|
||||
|
||||
document.getElementById("progress").innerHTML = "Creating backup...";
|
||||
|
||||
// Get hostname
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.open("GET", "/version?type=Hostname", false);
|
||||
xhttp.send();
|
||||
|
||||
hostname = xhttp.responseText;
|
||||
try {
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.open("GET", "/version?type=Hostname", false);
|
||||
xhttp.send();
|
||||
hostname = xhttp.responseText;
|
||||
}
|
||||
catch(err) {
|
||||
alert("Failed to fetch hostname: " + err.message);
|
||||
return;
|
||||
}
|
||||
|
||||
// get date/time
|
||||
var dateTime = new Date().toJSON().slice(0,10) + "_" + new Date().toJSON().slice(11,19).replaceAll(":", "-");
|
||||
@@ -71,12 +74,17 @@ function doBackup() {
|
||||
console.log(zipFilename);
|
||||
|
||||
// Get files list
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.open("GET", "/fileserver/config/", false);
|
||||
xhttp.send();
|
||||
|
||||
var parser = new DOMParser();
|
||||
var content = parser.parseFromString(xhttp.responseText, 'text/html');
|
||||
try {
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.open("GET", "/fileserver/config/", false);
|
||||
xhttp.send();
|
||||
|
||||
var parser = new DOMParser();
|
||||
var content = parser.parseFromString(xhttp.responseText, 'text/html'); }
|
||||
catch(err) {
|
||||
alert("Failed to fetch files list: " + err.message);
|
||||
return;
|
||||
}
|
||||
|
||||
const list = content.querySelectorAll("a");
|
||||
|
||||
@@ -88,7 +96,13 @@ function doBackup() {
|
||||
}
|
||||
|
||||
// Pack as zip and download
|
||||
saveZip(zipFilename, urls);
|
||||
try {
|
||||
saveZip(zipFilename, urls);
|
||||
}
|
||||
catch(err) {
|
||||
alert("Failed to zip files: " + err.message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -123,5 +137,4 @@ const saveZip = (filename, urls) => {
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user