Odd Christer Brovig created CB-11067:
----------------------------------------

             Summary: Content-Length missing in multipart form upload header on 
Android
                 Key: CB-11067
                 URL: https://issues.apache.org/jira/browse/CB-11067
             Project: Apache Cordova
          Issue Type: Bug
          Components: Plugin File Transfer
         Environment: Plugin version 1.5.0
chunked = false
            Reporter: Odd Christer Brovig


On iOS Content-Length is sent as part of header for multipart form. On Android 
only Content-Disposition and Content-Type is sent.

Is there a special reason for this? I see that the file size is read after the 
beforeData is converted to bytes.

>From FileTransfer.java:

```

                    
beforeData.append(LINE_START).append(BOUNDARY).append(LINE_END);
                    beforeData.append("Content-Disposition: form-data; 
name=\"").append(fileKey).append("\";");
                    beforeData.append(" 
filename=\"").append(fileName).append('"').append(LINE_END);
                    beforeData.append("Content-Type: 
").append(mimeType).append(LINE_END).append(LINE_END);
                    byte[] beforeDataBytes = 
beforeData.toString().getBytes("UTF-8");
                    byte[] tailParamsBytes = (LINE_END + LINE_START + BOUNDARY 
+ LINE_START + LINE_END).getBytes("UTF-8");
```

>From CDVFileTransfer.m:

```
    [postBodyBeforeFile appendData:formBoundaryData];
    [postBodyBeforeFile appendData:[[NSString 
stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; 
filename=\"%@\"\r\n", fileKey, fileName] 
dataUsingEncoding:NSUTF8StringEncoding]];
    if (mimeType != nil) {
        [postBodyBeforeFile appendData:[[NSString 
stringWithFormat:@"Content-Type: %@\r\n", mimeType] 
dataUsingEncoding:NSUTF8StringEncoding]];
    }
    [postBodyBeforeFile appendData:[[NSString 
stringWithFormat:@"Content-Length: %ld\r\n\r\n", (long)[fileData length]] 
dataUsingEncoding:NSUTF8StringEncoding]];
```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to