CB-920: FileTransfer UTF-8 bug

Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/838fa563
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/838fa563
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/838fa563

Branch: refs/heads/master
Commit: 838fa5635fcddc55d0b4a17d50826cd465541e13
Parents: 34820f4
Author: macdonst <[email protected]>
Authored: Thu Jun 14 10:33:44 2012 -0400
Committer: macdonst <[email protected]>
Committed: Thu Jun 14 10:33:44 2012 -0400

----------------------------------------------------------------------
 framework/src/org/apache/cordova/FileTransfer.java |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/838fa563/framework/src/org/apache/cordova/FileTransfer.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/FileTransfer.java 
b/framework/src/org/apache/cordova/FileTransfer.java
index 0f285ae..4accd55 100644
--- a/framework/src/org/apache/cordova/FileTransfer.java
+++ b/framework/src/org/apache/cordova/FileTransfer.java
@@ -219,9 +219,11 @@ public class FileTransfer extends Plugin {
 
             extraParams += LINE_START + BOUNDARY + LINE_END;
             extraParams += "Content-Disposition: form-data; name=\"" + fileKey 
+ "\";" + " filename=\"";
+            byte[] extraBytes = extraParams.getBytes("UTF-8");
 
             String midParams = "\"" + LINE_END + "Content-Type: " + mimeType + 
LINE_END + LINE_END;
             String tailParams = LINE_END + LINE_START + BOUNDARY + LINE_START 
+ LINE_END;
+            byte[] fileNameBytes = fileName.getBytes("UTF-8");
 
             // Should set this up as an option
             if (chunkedMode) {
@@ -229,7 +231,7 @@ public class FileTransfer extends Plugin {
             }
             else
             {
-              int stringLength = extraParams.length() + midParams.length() + 
tailParams.length() + fileName.getBytes("UTF-8").length;
+              int stringLength = extraBytes.length + midParams.length() + 
tailParams.length() + fileNameBytes.length;
               Log.d(LOG_TAG, "String Length: " + stringLength);
               int fixedLength = (int) fileInputStream.getChannel().size() + 
stringLength;
               Log.d(LOG_TAG, "Content Length: " + fixedLength);
@@ -238,9 +240,9 @@ public class FileTransfer extends Plugin {
 
 
             dos = new DataOutputStream( conn.getOutputStream() );
-            dos.writeBytes(extraParams);
-            //We don't want to chagne encoding, we just want this to write for 
all Unicode.
-            dos.write(fileName.getBytes("UTF-8"));
+            //We don't want to change encoding, we just want this to write for 
all Unicode.
+            dos.write(extraBytes);
+            dos.write(fileNameBytes);
             dos.writeBytes(midParams);
 
             // create a buffer of maximum size

Reply via email to