【问题标题】:How to upload images from Android Sqlite to Local server folder using json如何使用 json 将图像从 Android Sqlite 上传到本地服务器文件夹
【发布时间】:2014-08-14 05:51:27
【问题描述】:

我在 android Sqlite 数据库中有图像和文本。我需要使用 Json 通过本地服务器将这些图像和文本上传到我的系统文件夹。我不知道,请通过提供想法和编码或帮助我任何人示例..我用谷歌搜索了这个主题..大多数链接仅基于 Php 服务器..如果有人帮助我,请提前感谢..

【问题讨论】:

    标签: android sqlite upload localhost


    【解决方案1】:

    您不能简单地将您的文本和图像从您的应用程序直接放在服务器上。您需要有服务器端逻辑来处理请求。在搜索的过程中,你一定发现了很多 PHP 服务端代码,因为 PHP 是最容易上手的。

    我能想到的以 JSON 格式发送图像和文本的唯一方法是将图像转换为 Base64。在服务器端,您必须将它们转换回图像并保存。

    另外,不要将图像直接保存在 Sqlite 数据库中。它不是为处理大型 BLOB(图像或任何其他二进制数据)而设计的。您可以将图像保存到文件系统并将路径保存在数据库中。

    编辑:

    您可以使用以下代码将 JSON 字符串从 Android 发送到 PHP

    在安卓上

    JSONObject jsonObject = new JSONObject();
    jsonObject.put("text", "YOUR_TEXT_HERE");
    jsonObject.put("image", "YOUR_BASE64_IMAGE_HERE");
    
    StringEntity postBody = new StringEntity(jsonObject.toString());
    
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("http://YOUR_URL_HERE");
    
    httpPost.setEntity(postBody);
    httpPost.setHeader("Accept", "application/json");
    httpPost.setHeader("Content-type", "application/json");
    
    httpClient.execute(httpPost);
    

    PHP 代码

    $raw_json_string = file_get_contents('file://input');
    $json = json_decode($raw_json_string);
    
    // Copied shamelessly from: http://stackoverflow.com/a/15153931/815540
    function base64_to_jpeg($base64_string, $output_file) {
        $ifp = fopen($output_file, "wb"); 
        $data = explode(',', $base64_string);
        fwrite($ifp, base64_decode($data[1])); 
        fclose($ifp); 
        return $output_file; 
    }
    
    $text = $json->text;
    $base64_image = $json->image;
    
    base64_to_jpeg($base64_image, 'PATH_YOU_WANT_TO_SAVE_IMAGE_ON_SERVER');
    

    这就是它的全部......!

    虽然没有测试过代码

    【讨论】:

    • 感谢您的回复,服务器端逻辑是什么意思?网络服务?并且我在 SD 卡中也有这些图像。 .请你给一些隐蔽的SD卡图像到Base64并通过本地服务器发送到系统文件夹的例子..
    • 是的,服务器端逻辑是指 Web 服务。 Check this 将图片转换成Base64
    • 谢谢老兄,我读了那个Base64链接。那么请如何通过本地服务器上传到系统文件夹..
    • 谢谢,抱歉我有这些 php 编码..我不想要这个 php 编码。我只想使用 json 将数据发送到我的本地服务器..
    • @Android,你指的是什么json编码?上面显示了android中的JSON创建和POSTing。
    猜你喜欢
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多