加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中生成混合/多部分HTTP请求

发布时间:2020-12-14 19:19:44 所属栏目:Java 来源:网络整理
导读:我想POST(在Java中)一个multipart / mixed请求,其中一个部分是application / json类型,另一个是application / pdf类型.有谁知道一个图书馆,这将允许我轻松地这样做?令人惊讶的是我找不到一个. 我将生成JSON,但我需要能够将该部分的内容类型设置为applicatio

我想POST(在Java中)一个multipart / mixed请求,其中一个部分是’application / json’类型,另一个是’application / pdf’类型.有谁知道一个图书馆,这将允许我轻松地这样做?令人惊讶的是我找不到一个.

我将生成JSON,但我需要能够将该部分的内容类型设置为’application / json’.

非常感谢,
丹尼尔

最佳答案
简单,使用Apache Http-client library(此代码使用版本4.1和jars httpclient,httpcore和httpmime),这是一个示例:

package com.officedrop.uploader;

import java.io.File;
import java.net.URL;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.DefaultHttpClient;

public class SampleUploader {

    public static void main(String[] args) throws Exception {

        DefaultHttpClient httpclient = new DefaultHttpClient();
        String basePath = "http://localhost/";

        URL url = new URL( basePath );

        HttpHost targetHost = new HttpHost( url.getHost(),url.getPort(),url.getProtocol() );  

        HttpPost httpost = new HttpPost( String.format( "%s%s",basePath,"ze/api/documents.xml"));

        MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);

        entity.addPart("file_1",new FileBody( new File( "path-to-file.pdf" ),"file.pdf","application/pdf",null));
        entity.addPart("uploaded_data_1",new FileBody( new File( "path-to-file.json" ),"file.json","application/json",null));    

        httpost.setEntity(entity);

        HttpResponse response = httpclient.execute( targetHost,httpost);

    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读