六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 46|回复: 0

HttpURLConnection发送文件问题

[复制链接]

升级  0%

12

主题

12

主题

12

主题

秀才

Rank: 2

积分
50
 楼主| 发表于 2013-1-15 03:12:56 | 显示全部楼层 |阅读模式
由于工作需要,我需要在后台servlet模拟post向服务器发送数据,所以我用了HttpURLConnection类来实现,并且发送字符串数据已经能够实现了,但是不知道发送文件数据该如何实现。
发送数据代码如下
URL url = new URL("http://**********");HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setDoOutput(true);connection.setRequestMethod("POST");connection.setRequestProperty("Content-Type","multipart/form-data; boundary=Bounday---");connection.setRequestProperty("Cache-Control","no-cache");java.io.OutputStream os=connection.getOutputStream();OutputStreamWriter osw=new OutputStreamWriter(os);  //BufferedWriter bWriter = new BufferedWriter(osw);  //发送字符串数据   osw.write("字符串数据");   osw.flush();                       /*发送文件数据该如何实现*/     //  接收数据  DataInputStream in = new DataInputStream(connection.getInputStream());byte[] bytes = new byte[2];in.read(bytes);//String result = new String(bytes);BufferedReader inss = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line = null; StringBuffer content= new StringBuffer();while((line = inss.readLine()) != null){//line为返回值,这就可以判断是否成功、content.append(line);}inss.close() ;inss=null;url=null;
服务器端接收数据代码如下
BufferedReader bufferdeReader = request.getReader();StringBuffer sb1 = new StringBuffer();String tempStr = null;while ((tempStr = bufferdeReader.readLine()) != null) {String s = tempStr;sb1.append(s);}
现在我不会的是通过HttpURLConnection发送文件的发送端代码该如何写(如要发送的文件为d:\a.jsp),接收端接收文件的代码该如何写。希望各位大哥大姐指教。或者给一个HttpURLConnection这个类的详细说明文档也行,网上找的都说得比较简单。


再问一个问题。

现在文件传输的问题解决了,但是现在有个问题是,我在发送文件的时候,如何把文件名称也发送过去,在那边如何能够获取到文件名称呢?如果都是流的形式传输的,我如何在流中区分出文件名信息和文件流信息??
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表