Re: POSTing a file to a web page and reading response
- From: someone12345 <hallgrimur@xxxxxxxxx>
- Date: Fri, 31 Aug 2007 11:16:27 -0700
On Aug 31, 3:40 pm, Lew <l...@xxxxxxxxxxxxx> wrote:
someone12345 wrote:
Hi.
I'm trying to read raw data from disk, POSTING it to a site that
converts the file to another format, and then read and save the
response.
I have only found on the web information on how to post a string, not
binary data.
<http://commons.apache.org/fileupload/>
The key is to set the correct content type in the <form> tag,
"multipart/form-data".
--
Lew
This project seems to be at the other end of what I want. I want to
create the client, not the server. I want to submit the file to the
server and read back the server's response.
This is my code so far...
/**
* Created by IntelliJ IDEA.
* User: hallgrimur
* Date: 30.8.2007
* Time: 18:34:12
* To change this template use File | Settings | File Templates.
*/
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class check {
/* URL doc2pdf;*/
// URLConnection conn;
public static void main(String args[]) {
if (args.length != 0) {
System.out.println(
"Proper Usage: java FileDownloader RemoteFileURL
LocalFileName");
System.exit(0);
}
try {
URL site = new URL("http://xxx");
FileInputStream fis = new FileInputStream("c:\\temp\
\test.xxx");
);
HttpURLConnection conn = (HttpURLConnection)
site.openConnection();
conn.setRequestMethod("POST");
conn.setInstanceFollowRedirects(true);
conn.setDoOutput(true);
conn.setRequestProperty
("Content-Type", "multipart/form-data");
conn.setRequestProperty("Content-Length","24470"); //
hard coded for testing
conn.setRequestProperty("Cache-Control"," no-cache");
conn.setRequestProperty("Content-Disposition","form-data;
name=\"inputDocument\"; filename=\"test.xxx\""); //name of the submit
form action is inputdocument
DataOutputStream dos;
OutputStream os = conn.getOutputStream();
dos = new DataOutputStream(os);
int data;
while ((data = fis.read()) != -1) {
dos.write(data);
}
dos.flush();
os.flush();
dos.close();
os.close();
DataInputStream in = new
DataInputStream(conn.getInputStream());
FileOutputStream fo = new FileOutputStream("c:\\temp\
\test.yyy");
while ((data = in.read()) != -1) {
fo.write(data);
}
fo.flush();
// fo.close();
// dos.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
.
- References:
- POSTing a file to a web page and reading response
- From: someone12345
- Re: POSTing a file to a web page and reading response
- From: Lew
- POSTing a file to a web page and reading response
- Prev by Date: Re: Recomended books for learning Java
- Next by Date: Sun changing its stock symbol to JAVA
- Previous by thread: Re: POSTing a file to a web page and reading response
- Next by thread: EJB Client Stub jar - Concept Evaluation
- Index(es):
Relevant Pages
|