Salut je travaille sur une application de chat et maintenant je veux intégrer partager l'image audio vidéo PDF de mon application. et j'utilise ce code mais il ne fonctionne pas correctement. Est-ce que quelqu'un a une idée de comment envoyer ces fichiers en utilisant volley ou retrofit. Entendre est ce que j'ai essayé.Comment télécharger des fichiers comme l'audio vidéo PDF image de fichier texte doc d'Android au serveur php
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(
Intent.createChooser(intent, "Select a File to Upload"),
FILE_SELECT_CODE);
} catch (android.content.ActivityNotFoundException ex) {
// Potentially direct the user to the Market with a Dialog
Toast.makeText(this, "Please install a File Manager.",
Toast.LENGTH_SHORT).show();
}
Et ceci est ma méthode onActivityResult.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
switch (requestCode) {
case FILE_SELECT_CODE:
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
ContentResolver cr = this.getContentResolver();
mime = cr.getType(uri);
Toast.makeText(ChatActivity.this,mime,Toast.LENGTH_LONG).show();
Log.d(TAG, "File Uri: " + uri.toString()+" "+mime);
// Get the path
if(mime.equalsIgnoreCase("image/jpeg")){
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
uploadImage();
} catch (IOException e) {
e.printStackTrace();
}
}else{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
FileInputStream fis;
try {
fis = new FileInputStream(new File(uri.getPath()));
byte[] buf = new byte[1024];
int n;
while (-1 != (n = fis.read(buf)))
baos.write(buf, 0, n);
} catch (Exception e) {
e.printStackTrace();
}
filebytes = baos.toByteArray();
uploadImage();
}
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
Et ceci est ma méthode de téléchargement.
private void uploadImage(){
StringRequest stringRequest = new StringRequest(Request.Method.POST,
UPLOAD_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String s) {
//Disimissing the progress dialog
loading.dismiss();
//Showing toast message of the response
try {
JSONObject jsonObject = new JSONObject(s);
String message = jsonObject.getString("result");
sendfileMessage(message);
} catch (JSONException e) {
e.printStackTrace();
}
Log.d("image path",s);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
//Dismissing the progress dialog
loading.dismiss();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
//Converting Bitmap to String
Map<String,String> params = new Hashtable<String, String>();
//Adding parameters
params.put("mkey", "R09fQ2hhdC0z");
if(mime.equalsIgnoreCase("image/jpeg")){
String image = getStringImage(bitmap);
params.put("ch_img", image);
}else{
String image = new String(filebytes);
params.put("ch_img", image);
}
//returning parameters
Log.d("imagedemo",params.toString());
return params;
}
};
//Creating a Request Queue
RequestQueue requestQueue = Volley.newRequestQueue(this);
//Adding request to the queue
requestQueue.add(stringRequest);
}
double possible de [Télécharger doc, pdf, xls etc, de l'application Android au serveur php] (https://stackoverflow.com/questions/33820723/upload-doc-pdf-xls-etc -from-android-application-to-php-server) – SripadRaj
@SripadRas est-ce le travail pour la vidéo et l'audio aussi –
Je suppose que cela devrait fonctionner. – SripadRaj