Android:Wie hochladen .mp3-Datei-und Bild-http-server?
Mein code für das hochladen von Bild-Server :
String userIdParameter = String.valueOf(userId);
String fileName = "temporary_holder.jpg";
HttpURLConnection conn = null;
DataOutputStream dos = null;
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
int bytesRead, bytesAvailable, bufferSize;
byte[] buffer;
int maxBufferSize = 1 * 1024 * 1024;
String sourceFileUri = HomeScreen.get_path();
String upLoadServerUri = "http://10.120.10.87:8080/WebImage/UploadImage";
File sourceFile = new File(sourceFileUri);
if (!sourceFile.isFile()) {
Log.e("Huzza", "Source File Does not exist");
return;
}
int serverResponseCode = 0;
try {
//open a URL connection to the Servlet
FileInputStream fileInputStream = new FileInputStream(sourceFile);
//------------------ CLIENT REQUEST
URL url = new URL(upLoadServerUri);
//Open a HTTP connection to the URL
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true); //Allow Inputs
conn.setDoOutput(true); //Allow Outputs
conn.setUseCaches(false); //Don't use a Cached Copy
//Use a post method.
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("ENCTYPE", "multipart/form-data");
conn.setRequestProperty("Content-Type",
"multipart/form-data;boundary=" + boundary);
conn.setRequestProperty("file_name", fileName);
conn.setRequestProperty("file_name_audio", fileName);
conn.setRequestProperty("X-myapp-param1", userIdParameter);
//conn.setFixedLengthStreamingMode(1024);
//conn.setChunkedStreamingMode(1);
dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"file_name\";filename=\""
+ fileName + "\"" + lineEnd);
dos.writeBytes(lineEnd);
//create a buffer of maximum size
bytesAvailable = fileInputStream.available();
int streamSize = (int) sourceFile.length();
bufferSize = streamSize / 10;
System.out.println("streamSize" + streamSize);
buffer = new byte[streamSize];
//read file and write it into form...
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
int count = 0;
while (bytesRead > 0) {
progress = (int) (count);
displayNotification();
Thread.sleep(500);
dos.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
//bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
count += 10;
}
//send multipart form data necesssary after file data...
dos.writeBytes(lineEnd);
dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
//Responses from the server (code and message)
serverResponseCode = conn.getResponseCode();
String serverResponseMessage = conn.getResponseMessage();
System.out.println("Upload file to serverHTTP Response is : "
+ serverResponseMessage + ": " + serverResponseCode);
//close streams
System.out.println("Upload file to server" + fileName
+ " File is written");
fileInputStream.close();
dos.flush();
dos.close();
} catch (MalformedURLException ex) {
ex.printStackTrace();
Log.e("Upload file to server", "error: " + ex.getMessage(), ex);
} catch (Exception e) {
e.printStackTrace();
}
//this block will give the response of upload link
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
System.out.println("RESULT Message: " + line);
}
rd.close();
} catch (IOException ioex) {
Log.e("Huzza", "error: " + ioex.getMessage(), ioex);
}
return; //like 200 (Ok)
Dem hochladen zum server funktioniert einwandfrei.. ich hochladen müssen sowohl mp3-Datei und image auf den server..Bitte um Hilfe
Check this
auf diese Weise ist das hochladen einer mp3-Datei.., die ich hochladen müssen sowohl mp3-und ein Bild hochladen..2 Dateien.. ich will wissen wie bereiten Sie das Formular für das hochladen von 2 Dateien
Hallo jennifer, ich habe ein großes problem. wie hast du den pass perameters von Bild, das Sie hochladen.
auf diese Weise ist das hochladen einer mp3-Datei.., die ich hochladen müssen sowohl mp3-und ein Bild hochladen..2 Dateien.. ich will wissen wie bereiten Sie das Formular für das hochladen von 2 Dateien
Hallo jennifer, ich habe ein großes problem. wie hast du den pass perameters von Bild, das Sie hochladen.
InformationsquelleAutor jennifer | 2011-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
So, das Sie senden möchten Sie mehrere Dateien in einem HTTP-request? Ich habe das noch nie getan mich, aber nach der RFC, fügen Sie einfach einen anderen Körper, um die Nachricht, die Sie senden das audio, es sollte in etwa so Aussehen:
Stellen Sie sicher, dass die Namen der beiden Teile unterschiedlich sind (abhängig von der server-software).
InformationsquelleAutor Stephan