Java 使用Post请求上传Dicom文件到Orthanc

有时候需要用Post请求上传文件,如果是常见的表单/文件,在header中使用常见的Content-Type就可以达成,我们可以使用方便的RestTemplate,里面封装了常见的application/jsonapplication/x-www-urlencodedmultipart/form-data等等,还有图片啊二进制文件之类的,几乎涵盖了大部分文件种类,发送请求的方法网上也很多。
但我尝试上传dicom文件到orthanc server的时候,Content-Type的要求是application/dicom,然后加上一个dcm文件一起发送Post请求。
Upload API
尝试用了RestTemplate,也查了网上发送Post请求上传文件的资料,但是发现会各种报错。最后用了原始的HttpURLConnection并上传成功,这也许也是使用Java发送Post请求上传文件的通式。

	public void postDcm(String filePath, String orthancUrl, String token) throws IOException {
        URL url = new URL(orthancUrl);
        HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();

        httpCon.setDoOutput(true);
        httpCon.setRequestMethod("POST");
      
        // Optional: 如果需要,可以加上token等其它header信息
        httpCon.setRequestProperty ("Authorization", "Bearer " + token);
      
        OutputStream os = httpCon.getOutputStream();
        byte[] bytes = Files.readAllBytes(Paths.get(filePath));
        os.write(bytes);
        os.flush();
        os.close();
        httpCon.connect();

        // 打印出response
        String result;
        BufferedInputStream bis = new BufferedInputStream(httpCon.getInputStream());
        ByteArrayOutputStream buf = new ByteArrayOutputStream();
        int result2 = bis.read();
        while(result2 != -1) {
            buf.write((byte) result2);
            result2 = bis.read();
        }
        result = buf.toString();
        System.out.println(result);
    }
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值