Android загружает изображение из галереи на сервер

Я пытаюсь загрузить изображение из галереи фотографий Androids на сервер. Все сообщения, которые я сделал, были связаны с потоками объектов, но теперь я не уверен, как это сделать. О, и я использовал входной поток для загрузки изображения, где вы указываете прямо на изображение с помощью URL-адреса. Если бы кто-то мог указать мне в правильном направлении, это было бы оценено.

Спасибо

Для загрузки изображений на сервер из приложения вы можете следить за следующими учебниками:

  1. Загрузка файлов на HTTP-сервер с помощью POST на Android.

  2. Загрузите изображение или файл с помощью http POST multi-part.

Вышеупомянутый URL-адрес объяснит вам, как загружать изображения из приложения на сервер.

Для загрузки изображения из вашей фотогалереи вам требуется путь к этому файлу изображения и заменить полученный путь на /data/file_to_send.mp3 в первом URL- /data/file_to_send.mp3 .

Чтобы получить путь к изображению из мобильной галереи, вы можете выполнить следующий код:

  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b1 = (Button)findViewById(R.id.Button01); b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { openGallery(SELECT_FILE1); } }); } public void openGallery(int req_code) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, "Select file to upload "), req_code); } public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { Uri selectedImageUri = data.getData(); if (requestCode == SELECT_FILE1) { selectedPath1 = getPath(selectedImageUri); System.out.println("selectedPath1 : " + selectedPath1); } if (requestCode == SELECT_FILE2) { selectedPath2 = getPath(selectedImageUri); System.out.println("selectedPath2 : " + selectedPath2); } tv.setText("Selected File paths : " + selectedPath1 + "," + selectedPath2); } } public String getPath(Uri uri) { String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } 

Для загрузки изображений вы можете сделать следующий код.

  ImageView image = (ImageView)findViewById(R.id.image); if(!ImageUrl.equals("no image")) { try { image.setImageDrawable(grabImageFromUrl(ImageUrl)); } catch(Exception e) { } } private Drawable grabImageFromUrl(String url) throws Exception { return Drawable.createFromStream((InputStream)new URL(url).getContent(), "src"); } 

Я столкнулся с той же проблемой.

 Bitmap image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 

Работал для меня