当前位置:  开发笔记 > 编程语言 > 正文

如何(简单地)从java生成POST http请求来进行文件上传

如何解决《如何(简单地)从java生成POSThttp请求来进行文件上传》经验,为你挑选了1个好方法。

我想使用POST http事件从java application/applet上传文件.我想避免使用SE中未包含的任何库,除非没有其他(可行的)选项.
到目前为止,我只提出了非常简单的解决方案.
- 创建字符串(缓冲区)并用兼容的标头填充它(http://www.ietf.org/rfc/rfc1867.txt)
- 打开与服务器URL.openConnection()的连接,并将此文件的内容写入OutputStream.
我还需要手动将二进制文件转换为POST事件.

我希望有更好,更简单的方法来做到这一点?



1> Alnitak..:

您需要使用java.net.URLjava.net.URLConnection类.

http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html上有一些很好的例子.

这是一些快速而讨厌的代码:

public void post(String url) throws Exception {
    URL u = new URL(url);
    URLConnection c = u.openConnection();

    c.setDoOutput(true);
    if (c instanceof HttpURLConnection) {
        ((HttpURLConnection)c).setRequestMethod("POST");
    }

    OutputStreamWriter out = new OutputStreamWriter(
        c.getOutputStream());

    // output your data here

    out.close();

    BufferedReader in = new BufferedReader(
                new InputStreamReader(
                    c.getInputStream()));

    String s = null;
    while ((s = in.readLine()) != null) {
        System.out.println(s);
    }
    in.close();
}

请注意,在将POST数据写入连接之前,您可能仍需要urlencode().

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有