java通过http请求获取文件二进制流生产文件

4 篇文章 0 订阅

声明:根据http请求图片的url下载文件到本地

 

public void  downLoadPhoto(String photoUrl)throws Exception{
         
        //获取照片返回二进制流
            RestTemplate restTemplate = new RestTemplate();
            HttpHeaders headers = new HttpHeaders();
            ResponseEntity<byte[]> entity = restTemplate.exchange(photoUrl, HttpMethod.GET,new HttpEntity<>(headers), byte[].class);
            byte[] body = entity.getBody();
            InputStream sbs = new ByteArrayInputStream(body);

            File dest = new File("/Users/qixin/Desktop/a.jpg");
            if(!dest.exists()) {
                dest.createNewFile();
            }

            InputStream in = null;
            OutputStream out = null;

            in = new ByteArrayInputStream(body);
            out = new FileOutputStream(dest);

            byte []bt = new byte[1024];
            int length=0;
            while(	(length = in.read(bt)) !=-1) {
                //一次性写入文件a中
                out.write(bt,0,length);
            }

            if(null!=out) {
                out.close();
            }



 }

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
你可以通过以下步骤实现: 1. 在后台接收到pdf二进制文件后,将其保存为byte[]数组。 2. 将byte[]数组转换为InputStream对象。 3. 使用PdfBox库(或其他pdf处理库)将InputStream对象转换为PDF文档对象(PDDocument)。 4. 根据需要,对PDF文档进行修改(例如添加水印、修改内容等)。 5. 将修改后的PDF文档保存到本地文件系统。 下面是一个简单的Java代码示例,演示如何将接收到的pdf二进制文件保存到本地: ```java import org.apache.pdfbox.pdmodel.PDDocument; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class PdfFileHandler { public void savePdf(byte[] pdfBytes, String savePath) throws IOException { // 将byte[]数组转换为InputStream对象 InputStream inputStream = new ByteArrayInputStream(pdfBytes); // 使用PdfBox库将InputStream对象转换为PDDocument对象 PDDocument document = PDDocument.load(inputStream); // 将PDDocument对象保存为本地文件 document.save(new File(savePath)); // 关闭PDDocument对象 document.close(); } public static void main(String[] args) throws IOException { byte[] pdfBytes = // 从请求中获取pdf二进制文件 String savePath = "C:/temp/test.pdf"; // 保存路径 PdfFileHandler handler = new PdfFileHandler(); handler.savePdf(pdfBytes, savePath); } } ``` 请注意,本示例仅演示了最基本的保存操作。在实际使用中,您可能需要根据具体的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值