Skip to content
This repository was archived by the owner on Mar 16, 2019. It is now read-only.

Commit ad84b93

Browse files
committed
Fix multipart data format on Android #183
1 parent c6e49fb commit ad84b93

File tree

3 files changed

+6
-14
lines changed

3 files changed

+6
-14
lines changed

src/android/src/main/java/com/RNFetchBlob/RNFetchBlobBody.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ private File createMultipartBodyCache() throws IOException {
196196
// form begin
197197
String header = "--" + boundary + "\r\n";
198198
if (field.filename != null) {
199-
header += "Content-Disposition: form-data; name=" + name + "; filename=" + field.filename + "\r\n";
199+
header += "Content-Disposition: form-data; name=\"" + name + "\"; filename=\"" + field.filename + "\"\r\n";
200200
header += "Content-Type: " + field.mime + "\r\n\r\n";
201201
os.write(header.getBytes());
202202
// file field header end

src/ios/RNFetchBlobReqBuilder.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,6 @@
2929
body:(NSString *)body
3030
onComplete:(void(^)(NSURLRequest * req, long bodyLength))onComplete;
3131

32-
+(void) buildEncodedRequest:(NSDictionary *)options
33-
taskId:(NSString *)taskId
34-
method:(NSString *)method
35-
url:(NSString *)url
36-
headers:(NSDictionary *)headers
37-
form:(NSString *)body
38-
onComplete:(void(^)(__weak NSURLRequest * req, long bodyLength))onComplete;
39-
4032
+(NSString *) getHeaderIgnoreCases:(NSString *)field fromHeaders:(NSMutableArray *) headers;
4133

4234

src/ios/RNFetchBlobReqBuilder.m

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ +(void) buildMultipartRequest:(NSDictionary *)options
5454
[request setHTTPBody:postData];
5555
}
5656
// set content-length
57-
[mheaders setValue:[NSString stringWithFormat:@"%d",[postData length]] forKey:@"Content-Length"];
58-
[mheaders setValue:[NSString stringWithFormat:@"100-continue",[postData length]] forKey:@"Expect"];
57+
[mheaders setValue:[NSString stringWithFormat:@"%lu",[postData length]] forKey:@"Content-Length"];
58+
[mheaders setValue:@"100-continue" forKey:@"Expect"];
5959
// appaned boundary to content-type
6060
[mheaders setValue:[NSString stringWithFormat:@"multipart/form-data; charset=utf-8; boundary=%@", boundary] forKey:@"content-type"];
6161
[request setHTTPMethod: method];
@@ -176,12 +176,12 @@ void __block (^getFieldData)(id field) = ^(id field)
176176
{
177177
i++;
178178
getFieldData([form objectAtIndex:i]);
179-
RCTLogWarn(@"RNFetchBlob multipart request builder has found a field without `data` or `name` property, the field will be removed implicitly.", field);
179+
RCTLogWarn(@"RNFetchBlob multipart request builder has found a field without `data` or `name` property, the field will be removed implicitly.");
180180
return;
181181
}
182182
contentType = contentType == nil ? @"application/octet-stream" : contentType;
183183
// field is a text field
184-
if([field valueForKey:@"filename"] == nil || content == [NSNull null]) {
184+
if([field valueForKey:@"filename"] == nil || content == nil) {
185185
[formData appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
186186
[formData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n", name] dataUsingEncoding:NSUTF8StringEncoding]];
187187
[formData appendData:[[NSString stringWithFormat:@"Content-Type: text/plain\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
@@ -247,7 +247,7 @@ void __block (^getFieldData)(id field) = ^(id field)
247247
}
248248
}
249249

250-
+(NSString *) getHeaderIgnoreCases:(NSString *)field fromHeaders:(NSMutableArray *) headers {
250+
+(NSString *) getHeaderIgnoreCases:(NSString *)field fromHeaders:(NSMutableDictionary *) headers {
251251

252252
NSString * normalCase = [headers valueForKey:field];
253253
NSString * ignoredCase = [headers valueForKey:[field lowercaseString]];

0 commit comments

Comments
 (0)