Compré un sitio web donde se aloja en un servidor Linux que comparte una dirección IP mediante cpanel. El problema es que ahora quiero usar este código para subir un archivo a mi sitio. Cada vez que uso la dirección del sitio como www.site, obtendré una excepción que dice que la URL está mal formada. Cuando uso la dirección IP (ya que este es un servidor compartido), no puedo encontrar mi código php ya que no sé cómo vincular mi dirección.Android, http: cómo subir un archivo a un sitio alojado en un servidor compartido?
¿Alguien ... alguien sabe cómo vincularme a mi sitio, solo para que pueda subir un archivo xml? Realmente necesito ayuda aquí .......
Cualquier ayuda sería muy apreciada, ya que no tengo ningún conocimiento en materia de redes.
HttpURLConnection connection = null;
DataOutputStream outputStream = null;
DataInputStream inputStream = null;
String pathToOurFile = "/data/data/test.send/testsend.txt";
String urlServer = "http://www.site.com/filefortransfer.php";
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
int bytesRead, bytesAvailable, bufferSize;
byte[] buffer;
int maxBufferSize = 1*1024*1024;
try
{
FileInputStream fileInputStream = 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 = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
// Read file
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0)
{
outputStream.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
// Responses from the server (code and message)
String serverResponseCode = Integer.toString(connection.getResponseCode());
String serverResponseMessage = connection.getResponseMessage();
fileInputStream.close();
outputStream.flush();
outputStream.close();
}
catch (Exception ex)
{
Log.e("MediaPlayer", "error: " + ex.getMessage(), ex);
}
}
i; he intentado poner el código y en los httpcomponents Apache, el cliente y el núcleo, pero me estoy poniendo las Los org.apache.james tipo. mime4j.message.SingleBody no se puede resolver. Se hace referencia indirectamente desde archivos .class requeridos en el área del paquete. ¿Cómo puedo solucionar esto? Estoy trabajando con el android en eclipse y he intentado buscar una solución pero no puedo obtener ninguna. – Cid
resolvió que al agregar la biblioteca org.apache.james.mime4j a mi referencia – Cid
surgió un nuevo problema. El registro salió mostrando este problema, java.lang.noclassdeffounderror: org.apache.http.entity.mime, y tengo las bibliotecas, ¿qué pasa? – Cid