Caricare un'image da Android a database MySQL

Buona giornata! Sto cercando di cercare un tutorial di base per caricare un file di immagini da Android a un database MySQL online, ma non riesco a trovare alcuna.

Sto facendo ora un'attività che può caricare un'image del profilo dell'utente dall'Android al server online.

  • la lunghezza massima del file in Android
  • Android - Come caricare foto dalla scheda SD al muro di Facebook
  • setSystemUiVisibility (SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) non funziona
  • Convertire il contenuto: // URI al path effettivo in Android 4.4
  • La class Places viene rimossa dai servizi di android 9.2.0
  • Android: Come modificare la dimensione di CheckBox?
  • Quello che mi serve è come visualizzare un button e quando viene cliccato, un utente può scegliere un'image dai file. Può qualcuno che mi guida per farlo? Grazie in anticipo!

  • App di App Android Approvazione Tempo
  • errore: file androidmanifest.xml mancante -> Che cosa mi manca?
  • Limitazione di trascinamento di ImageView in Android
  • UnsupportedOperationException con ArrayAdapter.remove
  • Questa versione dell'applicazione non è configurata per la fatturazione tramite Google Play
  • Imansible submit messaggi di text su alcuni telefoni Android utilizzando SmsManager
  • 2 Solutions collect form web for “Caricare un'image da Android a database MySQL”

    Sul lato client, puoi farlo.

    HttpURLConnection connection = null; DataOutputStream outputStream = null; DataInputStream inputStream = null; String pathToOurFile = "path of the image.jpeg"; String urlServer = "http://xxx.xxx.xxx.xxx/uploader.php"; String lineEnd = "\r\n"; String twoHyphens = "--"; String boundary = "*****"; int bytesRead, bytesAvailable, bufferSize; byte[] buffer; int maxBufferSize = 1*1024*1024; try { FileInputStream fileInStream = new FileInputStream(new File(pathToOurFile) ); URL url = new URL(urlServer); connection = (HttpURLConnection) url.openConnection(); // Allow Inputs & Outputs connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); // Enable POST method connection.setRequestMethod("POST"); connection.setRequestProperty("Connection", "Keep-Alive"); connection.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary); outputStream = new DataOutputStream( connection.getOutputStream() ); outputStream.writeBytes(twoHyphens + boundary + lineEnd); outputStream.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + pathToOurFile +"\"" + lineEnd); outputStream.writeBytes(lineEnd); bytesAvailable = fileInStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); buffer = new byte[bufferSize]; // Read file bytesRead = fileInStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { outputStream.write(buffer, 0, bufferSize); bytesAvailable = fileInStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInStream.read(buffer, 0, bufferSize); } outputStream.writeBytes(lineEnd); outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); // Responses from the server (code and message) serverResponseCode = connection.getResponseCode(); serverResponseMessage = connection.getResponseMessage(); fileInputStream.close(); outputStream.flush(); outputStream.close(); } catch (Exception ex) { //Exception handling } 

    Lato server

     <?php $target_path = "./"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "Success"; } else{ echo "Error"; } ?> 

    Utilizza il seguente codice per recuperare l'image da ImageGallery:

     Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, ACTIVITY_SELECT_IMAGE); 

    Si avvia ImageGallery, ora è ansible select un'image e in onActivityResult è ansible decodificare l'image in bitmap, come spiegato nel link: qui :

     protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); switch(requestCode) { case REQ_CODE_PICK_IMAGE: if(resultCode == RESULT_OK){ Uri selectedImage = imageReturnedIntent.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(); Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath); } } } 

    Avanti è necessario caricare quel bitmap sul server. A tal fine è ansible utilizzare la soluzione Haresh.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.