Je me suis acheté un site web où il est hébergé sur un serveur linux qui partage une adresse IP en utilisant cpanel. Le problème est, maintenant, je veux utiliser ce code pour télécharger un fichier sur mon site. Chaque fois que j'utilise l'adresse du site comme www.site, j'obtiens une exception disant que l'URL est mal formée. Lorsque j'utilise l'adresse IP (puisqu'il s'agit d'un serveur partagé), je ne trouve pas mon code php car je ne sais pas comment lier mon adresse.Android, http: Comment télécharger un fichier sur un site hébergé par un serveur partagé?
Est-ce que quelqu'un ... quelqu'un sait comment me lier à mon site, juste pour que je puisse télécharger un fichier XML? Vraiment besoin d'aide ici .......
Toute aide serait vraiment appréciée car je n'ai aucune connaissance en matière de mise en réseau.
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; ai essayé le code et mettre dans les HttpComponents apache, le client et le noyau, mais je reçois le type Les org.apache.james. mime4j.message.SingleBody ne peut pas être résolu. Il est référencé indirectement à partir des fichiers .class requis dans la zone de package. Comment puis-je résoudre ceci? Je travaille avec l'android sur eclipse et j'ai essayé de trouver une solution mais je ne peux pas en trouver. – Cid
résolu qu'en ajoutant la bibliothèque org.apache.james.mime4j dans ma référence – Cid
un nouveau problème surgi. Le journal est sorti me montrant ce problème, java.lang.noclassdeffounderror: org.apache.http.entity.mime, et j'ai les bibliothèques, quel est le problème? – Cid