You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Odd Christer Brovig (JIRA)" <ji...@apache.org> on 2016/04/12 12:37:25 UTC
[jira] [Created] (CB-11067) Content-Length missing in multipart
form upload header on Android
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: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org