文件字节流/Base64文件数据--保存pdf文件
Base64文件数据和文件字节流数据,保存方式异曲同工,如下
Base64文件数据转PDF
/// <summary>
/// Base64 转PDF
/// </summary>
/// <param name="wayBillNo">单号,或相对唯一的值</param>
/// <param name="Base64Str">Base64 数据</param>
/// <returns></returns>
public static string Base64ChangePDF(string wayBillNo, string Base64Str)
{
//从base64字符串转换为字节数组
byte[] bytes = Convert.FromBase64String(Base64Str);
//文件保存文件夹
string PathName = "/Content/SuNiaoPrint";
//保存的文件名
string fileName = "Pdf" + wayBillNo + ".pdf";
//获取文件保存文件夹(绝对位置)
String dirPath = System.Web.HttpContext.Current.Server.MapPath(PathName);
//判断文件保存文件夹是否存在
if (!Directory.Exists(dirPath)) {
//不存在则生成文件夹
Directory.CreateDirectory(dirPath);
}
//拼接文件夹路径和文件名
string filePath = Path.Combine(dirPath, fileName);
//创建保存的文件
FileStream fs = new FileStream(filePath, FileMode.Create);
//字节数组写入文件中
fs.Write(bytes, 0, bytes.Length);
//关闭文件
fs.Close();
//返回文件保存相对位置
return Path.Combine(PathName, fileName);
}
文件流文件转换成pdf
/// <summary>
/// 文件流文件转换成pdf
/// </summary>
/// <param name="OrderExpreNum">单号,或相对唯一的值</param>
/// <param name="Bytes">文件字节流</param>
/// <returns></returns>
public static string BytesChangePDF(string OrderExpreNum, byte[] Bytes)
{
//文件流
byte[] fileData = (byte[])Bytes;
//保存文件-文件名称
string fileName = OrderExpreNum + ".pdf";
//保存文件-文件夹位置
string DirPathName = "/Content/print/pdf";
//获取保存文件夹 绝对路径
String dirPath = System.Web.HttpContext.Current.Server.MapPath(DirPathName);
//判断保存文件夹是否存在
if (!Directory.Exists(dirPath)) {
//不存在创建文件夹
Directory.CreateDirectory(dirPath);
}
//拼接文件夹路径和文件名
string filePath = Path.Combine(dirPath, fileName);
//创建要保存的文件
FileStream fs = new FileStream(filePath, FileMode.Create);
//将文件字节流写入文件中
fs.Write(fileData, 0, fileData.Length);
//关闭文件夹
fs.Close();
//返回保存文件 相对路径
return Path.Combine(DirPathName, fileName);
}