去掉文件流inputStream中被加入的请求头信息

背景:上传文件通过文件流(request.getInputStream())的形式获取文件时,会发现会将一部分请求头存在文件流中,导致之后解析的时候失败。多余的请求头内容如下:

----------------------------774180277227893587905937
Content-Disposition: form-data; name="file"; filename="1.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

在这里插入图片描述
解决思路:将文件先保存到txt文件中,之后转换成对应的文件(excel)

		inputStream = request.getInputStream();
		String txtPath = this.getClass().getResource("/").getPath() + "excel.txt";
		String excelPath = this.getClass().getResource("/").getPath() + "excel.xls";
		File file = new File(txtPath);
		logger.info(file.getPath());
		FileUtils.writeToFile(file, inputStream);
		RandomAccessFile raf = new RandomAccessFile(txtPath,"r");
		OutputStream fout = new FileOutputStream(excelPath);
		//读取前四行内容
		logger.info(raf.readLine());
		logger.info(raf.readLine());
		logger.info(raf.readLine());
		logger.info(raf.readLine());
		int d = 0;
		while((d = raf.read())!=-1){
			fout.write(d);
			fout.flush();
		}
		fout.close();
		File excelFile = new File(excelPath);
		//InputStream fileInput = Files.newInputStream(file.toPath());
		InputStream fileInput = FileUtils.openInputStream(excelFile);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值