【问题标题】:How to upload image from sqlite path to mysql server?如何将图像从 sqlite 路径上传到 mysql 服务器?
【发布时间】:2016-12-04 06:04:51
【问题描述】:

现在我只能将文本上传到 MySQL 服务器。

DBcontroler.java //My SQLite.

public String composeJSONfromSQLite(){
    ArrayList<HashMap<String, String>> wordList;
    wordList = new ArrayList<HashMap<String, String>>();
    String selectQuery = "SELECT  * FROM home where udpateStatus = '"+"no"+"'";
    SQLiteDatabase database = this.getWritableDatabase();
    Cursor cursor = database.rawQuery(selectQuery, null);
    if (cursor.moveToFirst()) {
        do {
            HashMap<String, String> map = new HashMap<String, String>();
            map.put("idhome", cursor.getString(0));
            map.put("mprefix", cursor.getString(1));
            map.put("name", cursor.getString(2));
            map.put("address", cursor.getString(3));
            map.put("district", cursor.getString(4));
            map.put("amphoe", cursor.getString(5));
            map.put("mprovince", cursor.getString(6));
            map.put("community", cursor.getString(7));
            map.put("lat", cursor.getString(8));
            map.put("longt", cursor.getString(9));
            map.put("user", cursor.getString(10));
            map.put("cb1", cursor.getString(11));
            map.put("cb2", cursor.getString(12));
            map.put("cb3", cursor.getString(13));
            map.put("cb4", cursor.getString(14));
            map.put("cb5", cursor.getString(15));
            map.put("cb6", cursor.getString(16));
            map.put("cb7", cursor.getString(17));
            map.put("cb8", cursor.getString(18));
            map.put("cb9", cursor.getString(19));
            map.put("cb10", cursor.getString(20));
            map.put("cb11", cursor.getString(21));
            map.put("cb12", cursor.getString(22));
            map.put("cb13", cursor.getString(23));
            map.put("cb14", cursor.getString(24));
            map.put("cb15", cursor.getString(25));
            map.put("cb16", cursor.getString(26));
            map.put("cb17", cursor.getString(27));
            map.put("cb18", cursor.getString(28));
            map.put("cb19", cursor.getString(29));
            map.put("cb20", cursor.getString(30));
            map.put("cb21", cursor.getString(31));
            map.put("cb22", cursor.getString(32));
            map.put("cb23", cursor.getString(33));
            map.put("cb24", cursor.getString(34));
            map.put("cb25", cursor.getString(35));
            map.put("cb26", cursor.getString(36));
            map.put("cb27", cursor.getString(37));
            map.put("cb28", cursor.getString(38));
            map.put("cb29", cursor.getString(39));
            map.put("cb30", cursor.getString(40));
            map.put("cb31", cursor.getString(41));
            map.put("cb32", cursor.getString(42));
            map.put("cb33", cursor.getString(43));
            map.put("cb34", cursor.getString(44));
            map.put("sug", cursor.getString(45));
            map.put("img1", cursor.getString(46));//imagepath
            map.put("img2", cursor.getString(47));//imagepath
            map.put("img3", cursor.getString(48));//imagepath
            map.put("img4", cursor.getStrin(49)); //imagepath
            wordList.add(map);
        } while (cursor.moveToNext());
    }
    database.close();
    Gson gson = new GsonBuilder().create();
    //Use GSON to serialize Array List to JSON
    return gson.toJson(wordList);
}

示例路径 内容:/com.android.providers.media.documents/document/image%3A20100

MainActivity.java //上传

public void syncSQLiteMySQLDB(){
    AsyncHttpClient client = new AsyncHttpClient();
    RequestParams params = new RequestParams();
    ArrayList<HashMap<String, String>> userList =  controller.getAllUsers();
    if(userList.size()!=0){
        if(controller.dbSyncCount() != 0){
            prgDialog.show();
            params.put("home3JSON", controller.composeJSONfromSQLite());
            client.post("http://homeclean.xp3.biz/insertuser.php",params ,new AsyncHttpResponseHandler() {
                @Override
                public void onSuccess(String response) {
                    System.out.println(response);
                    prgDialog.hide();
                    try {
                        JSONArray arr = new JSONArray(response);
                        System.out.println(arr.length());
                        for(int i=0; i<arr.length();i++){
                            JSONObject obj = (JSONObject)arr.get(i);
                            System.out.println(obj.get("id"));
                            System.out.println(obj.get("status"));
                            controller.updateSyncStatus(obj.get("id").toString(),obj.get("status").toString());
                        }
                        Toast.makeText(getApplicationContext(), "DB Sync completed!", Toast.LENGTH_LONG).show();
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        Toast.makeText(getApplicationContext(), "Error Occured [Server's JSON response might be invalid]!", Toast.LENGTH_LONG).show();
                        e.printStackTrace();
                    }
                }

示例上传

phpmyadmin

我现在不知道该怎么做。请帮助我。

我使用了来自

的代码

http://programmerguru.com/android-tutorial/how-to-sync-sqlite-on-android-to-mysql-db/

【问题讨论】:

标签: java android mysql sqlite


【解决方案1】:

首先,您应该将图像保存到变量中:

File imgFile = new  File("/sdcard/Images/test_image.jpg");

if(imgFile.exists()){

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

    ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);

    myImage.setImageBitmap(myBitmap);

}

并在清单文件中包含此权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然后根据这个视频上传: https://www.youtube.com/watch?v=4LCnoVqQ6N4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 2014-05-09
    • 2018-04-13
    • 1970-01-01
    • 2016-03-29
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多