java - php
Hi i want to send a file to php (with post) and i also want to set a
variable in the same form. example ("&myvar=" + myvar).
I have gotten the first piece to work but i dont know how to set the
variable under the same session, any help would be appriciated!
Here is the send file metod (that i want to extend to include setting
the variable)
public void postFile(String exsistingFileName) {
try {
FileInputStream fileInputStream = new FileInputStream( new
File(exsistingFileName) );
// Open a HTTP connection to the URL
System.out.println("Connecting to server...");
conn = (HttpsURLConnection) (new URL(urlString)).openConnection();
// Allow Input/Output
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type",
"multipart/form-data;boundary="+boundary);
dos = new DataOutputStream(conn.getOutputStream() );
if (!SecureConnection.isSecure(conn)) {
System.out.println("Connection not secure!");
return;
}
System.out.println("Sending query to server...");
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data;
name=\"datafile\";"
+ " filename=\"" + exsistingFileName +"\"" + lineEnd);
dos.writeBytes(lineEnd);
// create a buffer of maximum size
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
// read file and write it into form...
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
dos.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
// send multipart form data necesssary after file data...
dos.writeBytes(lineEnd);
dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
dos.flush();
//----------------------- i guess i should set the var before i close
the streams
//----------------------- how? i dont know
// close streams
fileInputStream.close();
dos.flush();
dos.close();
}
catch (MalformedURLException ex) {
System.out.println("From ServletCom CLIENT REQUEST:"+ex);
}
catch (IOException ioe) {
System.out.println("From ServletCom CLIENT REQUEST:"+ioe);
}
//read the server response
try {
BufferedReader br = new BufferedReader(new
InputStreamReader(conn.getInputStream()));
String str;
while (( str = br.readLine()) != null) {
System.out.println("Server response is: "+str);
System.out.println("");
}
br.close();
System.out.println("Cosed connnection to server.");
}
catch (IOException ioex) {
System.out.println("From (ServerResponse): "+ioex);
}
}