Android - Envoyer fichier Image sur le Serveur de DB

Les utilisateurs à économiser de trois données:
nom, note et image. Comme vous pouvez le voir le code ci-dessous,
J'ai réussi à le code pour envoyer le nom et la note à côté serveur.
Mais, je n'ai aucune idée de comment envoyer un fichier image sélectionné à partir de l'appareil à la serverDB.

public class AddEditWishlists extends Activity {
//Client-Server - Start //////////////////////
//Progress Dialog
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
EditText inputName;
EditText inputDesc;
//url to create new product
private static String url_create_product = 
"http://10.56.43.91/android_connect/create_product.php";
//JSON Node names
private static final String TAG_SUCCESS = "success";
//Client-Server - End //////////////////////
//Define Variables
private EditText inputname;
private EditText inputnote;
private Button upload;
private Bitmap yourSelectedImage;
private ImageView inputphoto;
private Button save;
private int id;
private byte[] blob=null;
byte[] image=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_wishlist);
setUpViews();
}
private void setUpViews() {
inputname = (EditText) findViewById(R.id.inputname);
inputnote = (EditText) findViewById(R.id.inputnote);
inputphoto = (ImageView) findViewById(R.id.inputphoto); 
Bundle extras = getIntent().getExtras();
if (extras != null) {
id=extras.getInt("id");
inputname.setText(extras.getString("name"));
inputnote.setText(extras.getString("note"));
image = extras.getByteArray("blob");
if (image != null) {
if (image.length > 3) {
inputphoto.setImageBitmap(BitmapFactory.decodeByteArray(image,0,image.length));
}
}
}
//Image Upload Button
upload = (Button) findViewById(R.id.upload);
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 0);
}
});
//Save the data
save = (Button) findViewById(R.id.save);
//Save하면 발생되는 이벤트
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (inputname.getText().length() != 0) {
AsyncTask<Object, Object, Object> saveContactTask = new AsyncTask<Object, Object, Object>() {
@Override
protected Object doInBackground(Object... params) {
saveContact();
//Client-Server - Start //////////////////////////////////////
String name = inputname.getText().toString();
String description = inputnote.getText().toString();
//Building Parameters
List<NameValuePair> params1 = new ArrayList<NameValuePair>();
params1.add(new BasicNameValuePair("name", name));
params1.add(new BasicNameValuePair("description", description));
//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);
if (success == 1) {
//successfully created product
//closing this screen
finish();
} else {
//failed to create product
}
} catch (JSONException e) {
e.printStackTrace();
}
//Client-Server - End ////////////////////////////////////
return null;
}
@Override
protected void onPostExecute(Object result) {
finish();
}
};
saveContactTask.execute((Object[]) null);
} else {
AlertDialog.Builder alert = new AlertDialog.Builder(
AddEditWishlists.this);
alert.setTitle("Error In Save Wish List");
alert.setMessage("You need to Enter Name of the Product");
alert.setPositiveButton("OK", null);
alert.show();
}
}
});
}
//If users save data, this will act (data -> db) 
private void saveContact() {
if(yourSelectedImage!=null){
ByteArrayOutputStream outStr = new ByteArrayOutputStream();
yourSelectedImage.compress(CompressFormat.JPEG, 100, outStr);
blob = outStr.toByteArray();
}
else{blob=image;}
//Change Text type to string type to save in the DB
SQLiteConnector sqlCon = new SQLiteConnector(this);
if (getIntent().getExtras() == null) {
sqlCon.insertWishlist(inputname.getText().toString(), inputnote.getText().toString(), blob);
}
else {
sqlCon.updateWishlist(id, inputname.getText().toString(), inputnote.getText().toString(),blob);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode,Intent resultdata) {
super.onActivityResult(requestCode, resultCode, resultdata);
switch (requestCode) {
case 0:
if (resultCode == RESULT_OK) {
Uri selectedImage = resultdata.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
//Convert file path into bitmap image using below line.
yourSelectedImage = BitmapFactory.decodeFile(filePath);
inputphoto.setImageBitmap(yourSelectedImage);
}
}
}
}

Comment puis-je code entre le client et le serveur d'annotation pour envoyer le fichier image?..

Utiliser http-request. Voir github.com/kevinsawicki/....
oui, j'ai déjà utilisé requête http post pour envoyer le nom et la note sur le serveur DB
ma question est comment envoyer des fichiers image sur le serveur à l'aide de la requête http
Je ne vois pas dans votre code que vous utilisez http-request de la bibliothèque. Le lien est l'exemple sur comment envoyer un fichier sur un serveur.
cochez cette ligne "JSONObject json = jsonParser.makeHttpRequest(url_create_product, "POST", params1);"

OriginalL'auteur jung hur | 2013-05-08