В статье приводится пример сценария, который используется для вызова метода upload:
Код:
async function uploadFile(token: string, hostname: string, direcoryId: string, fileSourceUrl: string, fileName: string): Promise<string> {
let hash = await uuidv4()
const formdata = new FormData()
let body = await (await fetch(fileSourceUrl)).arrayBuffer()
formdata.append('file', bodyFile, fileName)
const headers = { 'X-TOKEN': token,
'Content-Range': `bytes 0-${body.byteLenght}/${body.byteLenght}`
}
const resp = await fetch(`https://${hostname}/pub/v1/disk/directory/${direcoryId}/upload?hash=${hash}`, {
method: 'POST',
headers: headers,
body: formdata
})
let resultData = '';
if (!resp.ok) {
// обработка ответа с ошибкой
resultData = `${resp.status} ${resp.statusText}`
}
else {
// обработка успешного ответа
resultData = await resp.text()
}
return resultData
}
async function uuidv4(): Promise<string> {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}