Manual server file uploads implemented

This commit is contained in:
Magnus Åhall 2026-06-26 08:31:54 +02:00
parent c8308664d3
commit 70b5285e16
10 changed files with 329 additions and 26 deletions

View file

@ -164,6 +164,36 @@ export class Sync {
}
}
}//}}}
async filesToServer() {
try {
const BLOCKSIZE = 128*1024
let sentBytes = 0
const { file, metadata } = await nodeStore.nextFileToSync()
if (file === null)
return
const stream = file.stream()
const reader = stream.getReader({ mode: 'byob' }) // Bring Your Own Buffer
let buffer = new Uint8Array(BLOCKSIZE)
while (true) {
const { value, done } = await reader.read(buffer)
await API.upload(metadata.UUID, value, sentBytes, file)
metadata.setUploaded()
nodeStore.filesMetadata.add(metadata)
if (done)
break
sentBytes += value.length
buffer = new Uint8Array(value.buffer)
}
} catch (e) {
console.error(e)
alert(e.message)
}
}
}
export class N2SyncProgress extends CustomHTMLElement {