X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/2bc41ee3315feb483e4b92873df8f7dd3bb5499c..c2e3ce7c00767b2edb093c6c7df0f70cce279de8:/src/eu/alefzero/owncloud/WebdavClient.java diff --git a/src/eu/alefzero/owncloud/WebdavClient.java b/src/eu/alefzero/owncloud/WebdavClient.java index 9ff1ed9c..7ed11cee 100644 --- a/src/eu/alefzero/owncloud/WebdavClient.java +++ b/src/eu/alefzero/owncloud/WebdavClient.java @@ -1,11 +1,17 @@ package eu.alefzero.owncloud; import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; import org.apache.http.HttpHost; +import org.apache.http.HttpResponse; +import org.apache.http.HttpStatus; import org.apache.http.HttpVersion; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPut; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.params.ConnManagerPNames; @@ -62,7 +68,25 @@ public class WebdavClient { mSchemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443)); } - boolean downloadFile(String filepath) { + boolean downloadFile(String filepath, File targetPath) { + HttpGet get = new HttpGet(mUri.toString() + filepath.replace(" ", "%20")); + get.setHeader("Host", mUri.getHost()); + get.setHeader("User-Agent", "Android-ownCloud"); + + try { + HttpResponse response = mHttpClient.execute(mTargetHost, get, mHttpContext); + if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { + return false; + } + InputStreamReader isr = new InputStreamReader(response.getEntity().getContent()); + FileOutputStream fos = new FileOutputStream(targetPath); + int oneByte; + while ((oneByte = isr.read()) != -1) fos.write(oneByte); + + } catch (IOException e) { + e.printStackTrace(); + return false; + } return true; }