support base64 writes

This commit is contained in:
2021-06-05 23:12:32 -05:00
parent 95075539d5
commit 806363a1c9
3 changed files with 54 additions and 0 deletions

View File

@@ -577,6 +577,41 @@ export const upload_file = async (
}
};
export const write_base64_file = async (
conn,
handle,
remote_path,
offset,
base64_string,
optional_thread_id
) => {
try {
const buffer = new Uint8Array(new TextEncoder().encode(base64_string));
const request = new packet();
request.encode_utf8(remote_path);
request.encode_ui64(buffer.length);
request.encode_buffer(buffer);
request.encode_ui64(offset);
request.encode_ui64(handle);
const response = await conn.send(
'::RemoteFUSEWriteBase64',
request,
optional_thread_id
);
response.decode_ui32(); // Service flags
const result = response.decode_i32();
if (result === buffer.length) {
return result;
}
return Promise.reject(new Error(`'write_base64_file' error: ${result}`));
} catch (err) {
return Promise.reject(new Error(`'write_base64_file' failed: ${err}`));
}
};
export const write_file = async (
conn,
handle,