Skip to content

Commit 5a9b38b

Browse files
author
topboy
committed
Browser compat fix.
1 parent b9a4a33 commit 5a9b38b

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/FormDataEncoder.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,12 @@ export class FormDataEncoder {
201201
const size = isFile(value) ? value.size : value.byteLength
202202
if (
203203
this.#options.enableAdditionalHeaders === true
204-
&& size != null
205-
&& !isNaN(size)
204+
&& size != null
205+
&& !isNaN(size)
206206
) {
207207
header += `${this.#CRLF}Content-Length: ${
208-
isFile(value) ? value.size : value.byteLength
208+
isFile(value)
209+
? value.size : value.byteLength
209210
}`
210211
}
211212

@@ -336,7 +337,15 @@ export class FormDataEncoder {
336337
async* encode(): AsyncGenerator<Uint8Array, void, undefined> {
337338
for (const part of this.values()) {
338339
if (isFile(part)) {
339-
yield* part.stream()
340+
const stream: any = part.stream()
341+
if (stream.getReader instanceof Function) {
342+
const reader: any = stream.getReader()
343+
let result
344+
do {
345+
result = await reader.read()
346+
if (result.value) yield result.value
347+
} while (!result.done)
348+
} else yield* stream
340349
} else {
341350
yield part
342351
}

0 commit comments

Comments
 (0)