fix fileupload from external apps
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / Uploader.java
index a5d2316..13b2269 100644 (file)
@@ -18,6 +18,7 @@
 package eu.alefzero.owncloud;\r
 \r
 import java.io.File;\r
+import java.net.URLEncoder;\r
 import java.util.ArrayList;\r
 import java.util.Stack;\r
 \r
@@ -264,7 +265,10 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
             }\r
             Log.d(TAG, "Uploading file to dir " + pathToUpload);\r
 \r
-            mUploadPath = pathToUpload;\r
+            mUploadPath = "";\r
+            for (String s : pathToUpload.split("/"))\r
+                mUploadPath = "/" + URLEncoder.encode(s);\r
+            if (!mUploadPath.endsWith("/")) mUploadPath += "/";\r
             mCreateDir = false;\r
             uploadFiles();\r
 \r
@@ -382,11 +386,11 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro
                 final String display_name = c.getString(c.getColumnIndex(Media.DISPLAY_NAME)),\r
                              data = c.getString(c.getColumnIndex(Media.DATA));\r
                 local[i] = data;\r
-                remote[i] = mUploadPath + "/" + display_name;\r
+                remote[i] = mUploadPath + display_name;\r
             } else if (uri.getScheme().equals("file")) {\r
                 final File file = new File(Uri.decode(uri.toString()).replace(uri.getScheme() + "://", ""));\r
                 local[i] = file.getAbsolutePath();\r
-                remote[i] = mUploadPath + "/" + file.getName();\r
+                remote[i] = mUploadPath + file.getName();\r
             }\r
 \r
         }\r