c#压缩base64与java压缩base64对接,base64Pdf文件进行压缩传输(C#-Vue)

1.生成base64压缩文件流(C#)

首先在NuGet中安装插件【sharpziplib】

对base64pdf进行压缩

///

/// 将文本信息,写入zip压缩包

///

/// 文本信息

/// 文件名称

/// 返回base64压缩文件

public static string CreateZIPBase64(string xmldata, string xmlFileName)

{

try

{

byte[] byteArray = System.Text.Encoding.Default.GetBytes(xmldata);

using (MemoryStream ms = new MemoryStream())

{

using (ZipOutputStream zips = new ZipOutputStream(ms))

{

zips.SetLevel(9); // 0 - store only to 9 - means best compression

var entry = new ZipEntry(xmlFileName);

entry.DateTime = DateTime.Now;

zips.PutNextEntry(entry);

zips.Write(byteArray, 0, byteArray.Length);

zips.Finish();

}

byte[] zipBytes = ms.ToArray(); //这里是一个zip压缩的文件流

return Convert.ToBase64String(zipBytes);

//return zipBytes;

}

}

catch (Exception ex)

{

throw ex;

}

}

复制代码

**

方法使用

**

//使用

var base64Pdf=PdfHelper.MergeBase64PDF(data);//获取base64的PDF文件流

var result = ZipHelper.CreateZIPBase64(base64Pdf, "hrpBase64");return new ResponseData

{

data = result,

msg = "success",

code = 0

};

复制代码

2.使用jszip插件进行解压(Vue)

1.安装

npm i jszip -S or npm install jszip

复制代码

2.vue中使用

import JsZip from 'jszip';//引入

let {res:data}=await getData();//接口请求

if(res.code!=0) return this.$message.error(res.msg);

let base64ZipData=res.data;//经过压缩的pdf

var zip = new JsZip(); let reuslt=await zip.loadAsync(res.data, {base64: true});//这里是压缩后的base64文件流 let base64Pdf=await zip.file("hrpBase64").async("string");//解压成base64的pdf文件流

printJS({ printable: basePdf, type: 'pdf', base64: true });//将pdf进行打印,要安装print-js

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值