繁体   English   中英

尝试将sqlite数据库从android手机发送到Web服务器

[英]Trying to send sqlite database from android phone to web server

我正在尝试将sqlite数据库从我的android手机发送到Web服务器。 执行代码时我没有收到任何错误,但是数据库没有出现在服务器上。 这是我的php代码和用于从android手机上传文件的代码。 连接响应消息“ get”为“ OK”,我得到的http客户端的响应为org.apache.http.message.BasicHttpResponse@4132dd40。

    public void uploadDatabase() {


    String urli = "http://uploadsite.com";
                String path = sql3.getPath();
                File file = new File(path);

            int bytesRead, bytesAvailable, bufferSize;
            byte[] buffer;
            int maxBufferSize = 1*1024*1024;
            String lineEnd = "\r\n";
            String twoHyphens = "--";
            String boundary =  "*****";


            try {
            HttpClient httpclient = new DefaultHttpClient();

            HttpPost httppost = new HttpPost(urli);

            URL url = new URL(urli);
            connection = (HttpURLConnection) url.openConnection();

            InputStreamEntity reqEntity = new InputStreamEntity(
                    new FileInputStream(file), -1);

            reqEntity.setContentType("binary/octet-stream");
            reqEntity.setChunked(true);

            HttpResponse response = httpclient.execute(httppost);
            String response2 = connection.getResponseMessage();
            Log.i("response", response.toString());
            Log.i("response", response2.toString());
        } catch (Exception e) {

        }
    }


<?php
$uploaddir = '/var/www/mvideos/uploads/';
$file = basename($_FILES['userfile']['name']);
$timestamp = time();
$uploadfile = $uploaddir . $timestamp . '.sq3';

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "OK";
} else {
    echo "ERROR: $timestamp";
}

?>

我基于此示例编写了代码,并且效果很好。

String pathToOurFile = "/data/dada.jpg"; 
String urlServer = "http://sampleserver.com";

try {
    FileInputStream fis = new FileInputStream(new File(pathToOurFile));
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost postRequest = new HttpPost(urlServer);
    byte[] data = IOUtils.toByteArray(fis);
    InputStreamBody isb = new InputStreamBody(new ByteArrayInputStream(data),pathToOurFile);
    StringBody sb1 = new StringBody("someTextGoesHere");
    StringBody sb2 = new StringBody("someTextGoesHere too");
    MultipartEntity multipartContent = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    FileBody bin = new FileBody(new File(pathToOurFile));

    multipartContent.addPart("uploadedfile", bin);
    multipartContent.addPart("name", sb1);
    multipartContent.addPart("status", sb2);
    postRequest.setEntity(multipartContent);

    HttpResponse res = httpClient.execute(postRequest);
    res.getEntity().getContent().close();
} catch (Throwable e) {
    e.printStackTrace();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM