wdWriteWithBytes method
write a file with bytes
Implementation
Future<void> wdWriteWithBytes(
Client self,
String path,
Uint8List data, {
void Function(int count, int total)? onProgress,
CancelToken? cancelToken,
}) async {
// fix auth error
var pResp = await this.wdOptions(self, path, cancelToken: cancelToken);
if (pResp.statusCode != 200) {
throw newResponseError(pResp);
}
// mkdir
await this._createParent(self, path, cancelToken: cancelToken);
var resp = await this.req(
self,
'PUT',
path,
data: Stream.fromIterable(data.map((e) => [e])),
optionsHandler: (options) =>
options.headers?['content-length'] = data.length,
onSendProgress: onProgress,
cancelToken: cancelToken,
);
var status = resp.statusCode;
if (status == 200 || status == 201 || status == 204) {
return;
}
throw newResponseError(resp);
}