multipart/form-data 根据PDFurl上传PDF文件

1 篇文章 0 订阅
//上传PDFurl
private final static String uploadPdfUrl = "https://api.weixin.qq.com/card/invoice/platform/setpdf";

private final static String HEAD = "Odcddwssf2exwM16BY25kVBgf";

//上传pdf
public String uploadPdf(String pdfUrl) {
    String name= "123123123.pdf";
    ByteArrayOutputStream outputStream = readUrl(pdfUrl);
    InputStreamReader inputStreamReader = null;
    InputStream inputStream = null;
    BufferedReader in = null;
    try {
        MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, "----------" + HEAD, Charset.defaultCharset());
        multipartEntity.addPart("pdf", new ByteArrayBody(outputStream.toByteArray(), name));
        HttpPost request = new HttpPost(uploadPdfUrl);
        request.setEntity(multipartEntity);
        request.addHeader("Content-Type", "multipart/form-data; boundary=----------" + HEAD);

        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpResponse response = httpClient.execute(request);

        inputStream = response.getEntity().getContent();
        inputStreamReader = new InputStreamReader(inputStream);
        in = new BufferedReader(inputStreamReader);
        StringBuffer buffer = new StringBuffer();
        String line = "";
        while ((line = in.readLine()) != null) {
            buffer.append(line);
        }
    } catch (Exception e) {
        logger.error("PDF上传失败", e);
        throw new ServiceException(ResponseObj.CODE_FAILED, "PDF上传失败");
    } finally {
        try {
            outputStream.close();
            in.close();
            inputStream.close();
            inputStreamReader.close();
        } catch (IOException e) {
            logger.error("数据流关闭异常", e);
            throw new ServiceException(ResponseObj.CODE_FAILED, "数据流关闭异常");
        }
    }

    return "";
}

public ByteArrayOutputStream readUrl(String pdfUrl) {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    try {
        URL url = new URL(pdfUrl);
        URLConnection connection = url.openConnection();
        InputStream in = connection.getInputStream();
        byte[] b = new byte[1024];
        int n;
        while ((n = in.read(b)) != -1) {
            outputStream.write(b, 0, n);
        }
    } catch (Exception e) {
        logger.error("读取url失败", e);
        throw new ServiceException(ResponseObj.CODE_FAILED, "读取url失败");
    }
    return outputStream;

}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值