Skip to content

Commit 15e7b11

Browse files
authored
Merge pull request #56 from mayerlench/fixes-missing-filename-issue
Fixes missing filename in formdata
2 parents 7409065 + 0be63e1 commit 15e7b11

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/http.android.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,19 +280,20 @@ export function buildJavaOptions(options: HttpRequestOptions) {
280280
formDataPartMediaType = okhttp3.MediaType.parse(value.type);
281281
}
282282

283+
const filename = value.name || "";
283284
if (value.data instanceof ArrayBuffer) {
284285
const typedArray = new Uint8Array(value.data as ArrayBuffer);
285286
const nativeBuffer = java.nio.ByteBuffer.wrap(Array.from(typedArray));
286-
builder.addFormDataPart(key, value.name, okhttp3.RequestBody.create(formDataPartMediaType, nativeBuffer.array()));
287+
builder.addFormDataPart(key, filename, okhttp3.RequestBody.create(formDataPartMediaType, nativeBuffer.array()));
287288
} else if (value.data instanceof Blob) {
288289
// Stolen from core xhr, not sure if we should use InternalAccessor, but it provides fast access.
289290
// @ts-ignore
290291
const typedArray = new Uint8Array(Blob.InternalAccessor.getBuffer(value.data).buffer.slice(0) as ArrayBuffer);
291292
const nativeBuffer = java.nio.ByteBuffer.wrap(Array.from(typedArray));
292-
builder.addFormDataPart(key, value.name, okhttp3.RequestBody.create(formDataPartMediaType, nativeBuffer.array()));
293+
builder.addFormDataPart(key, filename, okhttp3.RequestBody.create(formDataPartMediaType, nativeBuffer.array()));
293294
} else {
294295
// Support for native file objects.
295-
builder.addFormDataPart(key, value.name, okhttp3.RequestBody.create(formDataPartMediaType, value.data));
296+
builder.addFormDataPart(key, filename, okhttp3.RequestBody.create(formDataPartMediaType, value.data));
296297
}
297298
} else {
298299
// Support for native file objects.

src/http.ios.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,17 +215,18 @@ export function request(options: HttpRequestOptions): Promise<HttpResponse> {
215215
formDataPartMediaType = value.type;
216216
}
217217

218+
const filename = value.name || "";
218219
if (value.data instanceof ArrayBuffer) {
219220
const buffer = new Uint8Array(value.data as ArrayBuffer);
220-
multipartFormData.addFileParameterNameFilenameContentType(NSData.dataWithData(buffer as any), key, "", formDataPartMediaType);
221+
multipartFormData.addFileParameterNameFilenameContentType(NSData.dataWithData(buffer as any), key, filename, formDataPartMediaType);
221222
} else if (value.data instanceof Blob) {
222223
// Stolen from core xhr, not sure if we should use InternalAccessor, but it provides fast access.
223224
// @ts-ignore
224225
const buffer = new Uint8Array(Blob.InternalAccessor.getBuffer(value.data).buffer.slice(0) as ArrayBuffer);
225-
multipartFormData.addFileParameterNameFilenameContentType(NSData.dataWithData(buffer as any), key, value.name || "", formDataPartMediaType);
226+
multipartFormData.addFileParameterNameFilenameContentType(NSData.dataWithData(buffer as any), key, filename, formDataPartMediaType);
226227
} else {
227228
// Support for native file objects.
228-
multipartFormData.addFileParameterNameFilenameContentType(value.data, key, value.name, formDataPartMediaType);
229+
multipartFormData.addFileParameterNameFilenameContentType(value.data, key, filename, formDataPartMediaType);
229230
}
230231
} else {
231232
// Support for native file objects.

0 commit comments

Comments
 (0)