support base64 writes
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user