Topic: 向服务器传输文件小程序

  Print this page

1.向服务器传输文件小程序 Copy to clipboard
Posted by: springlin
Posted on: 2006-05-09 11:30

我现在要在客户端实现使用HTTP向服务器传输文件功能,请各位高手帮忙看一下我写的这段代码是否可以?不行的话请指教,谢谢!
import java.io.*;
import java.net.*;
public class PostExample {
public static void main(String[] argv) throws Exception {

URL url = new URL("http://168.1.100.29:8080/web/servlet/loginServlet");

HttpURLConnection connection = (HttpURLConnection)url.openConnection();

connection.setRequestMethod("POST");

connection.setDoOutput(true);
BufferedOutputStream out=new BufferedOutputStream(connection.getOutputStream());

//send the encoded message
File file=new File("d:\\aa.doc");
FileInputStream fr=new FileInputStream(file);
int bb;
byte[] b=new byte[1024];
while((bb=fr.readBeer)!=-1){

out.write(b,0,bb);
}
fr.close();
out.close();
}

2.Re:向服务器传输文件小程序 [Re: springlin] Copy to clipboard
Posted by: wanglei_811006
Posted on: 2006-05-09 17:42

我目前的水平不怎么样?但是看到你这段代码,应该是行不通的!

3.Re:向服务器传输文件小程序 [Re: springlin] Copy to clipboard
Posted by: damondeng
Posted on: 2006-05-10 13:43

首先要考虑一下服务器会怎么处理这样的"请求".

第一个问题是:"web/servlet/loginServlet" 指向什么? 看样子象个servlet, 它有没有实现post方法? 如果没有的话, 它是不会处理你的"post"请求的. (看起来这个URL很象是一个登录界面的URL)

第二个问题是: d:\a.doc里面有什么内容? 如果它是一个word 文档(看文件名象), 它里面的格式是不符合HTTP协议的, 服务器接收不了这样的请求.
当然, 不排除a.doc是一个纯文本文件. 我没试过, 不知道能不能在文本文件里写好HTTP请求的header, 然后通过Buffer 的write 方法写给服务器.

不管怎么样, 本人觉得这不是正确的往服务器写文件的方法.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923