Konvertieren ausgewählten Bild in byte-array in string und
Ich arbeite an einem client-server-Kommunikation.
Benutzer können wählen Sie ein Bild aus der Galerie.
Die ausgewählten Bilder gespeichert würden, in zwei Orten, lokalen DB-server DB.
Wenn der Benutzer speichern Sie es, das gewählte Bild werden gespeichert in der lokalen Datenbank mit Pfad(String)
und auch gespeichert werden soll in die Server-Datenbank.
Das problem ist, ich weiß nicht, wie man Bilder byte-array zu kodierenden Zeichenfolge zu übergeben, die das Bild auf der server-Seite.
Lokale DB : Image -> Pfad(String) (Dies ist geschehen)
Server-DB : Image -> Byte -> Zeichenfolge> Senden an server
Hier ist der code..
Bundle extras = getIntent().getExtras();
if (extras != null) {
id=extras.getInt("id");
inputname.setText(extras.getString("name"));
inputnote.setText(extras.getString("note"));
image = extras.getString("blob");
//Convert image into string to save path in local DB
BitmapFactory.Options op=new BitmapFactory.Options();
op.inSampleSize=8;
yourSelectedImage = BitmapFactory.decodeFile(image, op);
inputphoto.setImageBitmap(yourSelectedImage);
}
Festlegen blob in der saveItem Methode..?
private void saveItem() {
//Client-Server - Start //////////////////////////////////////
String name = inputname.getText().toString();
String description = inputnote.getText().toString();
//Encode the image file to String !! by using Base64
String encodedImage = Base64.encodeToString(blob, Base64.DEFAULT);
//Building Parameters
List<NameValuePair> params1 = new ArrayList<NameValuePair>();
params1.add(new BasicNameValuePair("name", name));
params1.add(new BasicNameValuePair("description", description));
params1.add(new BasicNameValuePair("photo",encodedImage));
Log.v("log_tag", System.currentTimeMillis()+".jpg");
//getting JSON Object
//Note that create product url accepts POST method
JSONObject json = jsonParser.makeHttpRequest(url_create_product, "POST", params1);
//check log cat fro response
Log.d("Create Response", json.toString());
//check for success tag
try {
int success = json.getInt(TAG_SUCCESS);
Log.v("log_tag", "In the try Loop" );
if (success == 1) {
//closing this screen
finish();
} else {
//failed to create product
}
} catch (JSONException e) {
e.printStackTrace();
}
Vielen Dank im Voraus.
InformationsquelleAutor hurj | 2013-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konvertieren Bild, um die Zeichenfolge, verwenden Sie folgenden kurzen code.
Nun, Sie haben encodedImage string von Bild.
Ihren code von "saveItem()" sieht wie folgt aus.
ersetzen "String ncodedImage = Base64.encodeToString(blob Base64.STANDARD);" die Linien mit meiner Antwort, 4 Zeilen.
in meinem Fall, youbitmap ist yourSelectedImage ..?
hm..ich kann verstehen, das Protokoll dieser "Log.v("log_tag", System.currentTimeMillis()+".jpg");" aber, nach, um, keine Reaktion ist passiert..
wirklich zu schätzen. vielen Dank
InformationsquelleAutor Chintan Rathod