Uploader de archivos Android con php de servidor

He estado buscando una solución a esto durante horas, pero no puedo encontrar ninguna.

Básicamente, quiero cargar, desde mi dispositivo Android, archivos a un sitio web http. Sin embargo, no tengo ni idea de cómo hacer esto. Estoy usando java en el dispositivo, y me gustaría usar PHP en el lado del servidor de las cosas. Sólo quiero subir los archivos, no hacer nada extravagante con ellos en el servidor.

¿Puede alguien proporcionar código y / o un buen enlace a lo que necesito? Tengo poca o ninguna experiencia en esto, y estoy en una pérdida.

Gracias, NS

PD. No tengo experiencia en la codificación PHP.

Sí, así que encontré el lado java de las cosas. Esto funciona, así que … sí.

public class Uploader extends Activity { private String Tag = "UPLOADER"; private String urlString = "YOUR_ONLINE_PHP"; HttpURLConnection conn; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String exsistingFileName = "/sdcard/uploader/data/testfile"; String lineEnd = "\r\n"; String twoHyphens = "--"; String boundary = "*****"; try { // ------------------ CLIENT REQUEST Log.e(Tag, "Inside second Method"); FileInputStream fileInputStream = new FileInputStream(new File( exsistingFileName)); // open a URL connection to the Servlet URL url = new URL(urlString); // Open a HTTP connection to the URL conn = (HttpURLConnection) url.openConnection(); // Allow Inputs conn.setDoInput(true); // Allow Outputs conn.setDoOutput(true); // Don't use a cached copy. conn.setUseCaches(false); // Use a post method. conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "Keep-Alive"); conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); DataOutputStream dos = new DataOutputStream(conn.getOutputStream()); dos.writeBytes(twoHyphens + boundary + lineEnd); dos .writeBytes("Content-Disposition: post-data; name=uploadedfile;filename=" + exsistingFileName + "" + lineEnd); dos.writeBytes(lineEnd); Log.e(Tag, "Headers are written"); // create a buffer of maximum size int bytesAvailable = fileInputStream.available(); int maxBufferSize = 1000; // int bufferSize = Math.min(bytesAvailable, maxBufferSize); byte[] buffer = new byte[bytesAvailable]; // read file and write it into form... int bytesRead = fileInputStream.read(buffer, 0, bytesAvailable); while (bytesRead > 0) { dos.write(buffer, 0, bytesAvailable); bytesAvailable = fileInputStream.available(); bytesAvailable = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bytesAvailable); } // send multipart form data necesssary after file data... dos.writeBytes(lineEnd); dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); // close streams Log.e(Tag, "File is written"); fileInputStream.close(); dos.flush(); dos.close(); } catch (MalformedURLException ex) { Log.e(Tag, "error: " + ex.getMessage(), ex); } catch (IOException ioe) { Log.e(Tag, "error: " + ioe.getMessage(), ioe); } try { BufferedReader rd = new BufferedReader(new InputStreamReader(conn .getInputStream())); String line; while ((line = rd.readLine()) != null) { Log.e("Dialoge Box", "Message: " + line); } rd.close(); } catch (IOException ioex) { Log.e("MediaPlayer", "error: " + ioex.getMessage(), ioex); } } } 

Si desea cargar archivos de más de 2MB necesita editar su configuración de PHP

 ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2M 

P.ej:

 ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 10M 

Eso le permitirá cargar archivos de hasta 10 MB de tamaño

Para el lado PHP de las cosas echar un vistazo a

move_uploaded_file y también el $_FILES global $_FILES

http://php.net/manual/en/function.move-uploaded-file.php

http://php.net/manual/es/features.file-upload.php

  • Algoritmo AES difiere en PHP desde Android e iOS
  • Acceso y almacenamiento de gran cantidad de datos desde el servidor mysql
  • ¿Cómo debo manejar los tiempos de espera del servidor y las respuestas de código de error a una entrada de http en la aplicación para Android?
  • Cargando muchas imágenes del servidor en Android
  • Mensaje de error de PHP GCM MismatchSenderId
  • Cómo utilizar el SSL con multi entidad en android
  • Android Chat Para sesión privada para usuarios (Development Workflow)
  • GCM con PHP (Google Cloud Messaging)
  • Cordova android: Cargando datos de la base de datos con desplazamiento infinito en onsenui
  • Se reciben varias notificaciones de GCM
  • Archivo de imagen de Android enviado a archivo de imagen de carga de php es el tipo de aplicación / octet-stream y no image / jpeg?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.