zoukankan      html  css  js  c++  java
  • ASP.NET 将文件流写入临时文件,并打开

    今天遇到一个开发任务,需要调取第三方接口,接口返回Stream文件流(pdf文件),然后供用户打印。

    以下是源码:

     public void PrintOrderTestForpdf()
            {
                //1、创建实体
                PrintOrderInfo model = new PrintOrderInfo()
                {
                    ApiToken = "XXX",
                    LabelFormat = "A4_2",
                    OutPutFormat = "pdf",
                    PrintCustoms = false,
                    PrintProduct = false,
                    PrintProductFormat = "{sku}",
                    OrderList = new List<PrintOrderDetail>()
                    {
                        new PrintOrderDetail() { OrderId="123456",TrackingNo=""}
                    }
                };
                //2、请求接口,并接收返回的文件流
                MemoryStream bts = (MemoryStream)RuiYouPaiDal.Instance.PrintOrderForPdf(model);
                //3、将文件流写去临时的pdf文件,并打开
                Process.Start(GererateFileName(bts));
            }
     /// <summary>
            /// 将接收到的文件流写入临时文件
            /// </summary>
            /// <param name="result"></param>
            /// <returns></returns>
            public static string GererateFileName(MemoryStream result)
            {
                var filename = GetGeneratedFileName();//1、生成.pdf格式的临时文件
                var fs = new FileStream(filename, FileMode.OpenOrCreate);
                var w = new BinaryWriter(fs);
                w.Write(result.ToArray());//2、将接收到的文件流写入临时文件
                fs.Close();
                result.Close();
    
                return filename;
            }
            /// <summary>
            /// 生成临时文件
            /// </summary>
            /// <returns></returns>
            public static string GetGeneratedFileName()
            {
                var guid = Guid.NewGuid().ToString().Replace("-", "");
                var filepath = Path.Combine(Path.GetTempPath(), guid + ".pdf");
                return filepath;
            }

      文件流操作总是易忘,只能经常复习,经常总结了。。。。

  • 相关阅读:
    Ubuntu 系统装机指南
    java读取配置文件属性
    反转单链表 递归与非递归
    迟到的2013年终总结
    2014年阅读资料总结
    程序人生的四个象限和两条主线
    查找单链表中倒数第k个结点
    技术人员应真正学会的第二课程
    Linux“七大蠢”收录
    postman测试方法,出现400错误码
  • 原文地址:https://www.cnblogs.com/czqbk/p/6566573.html
Copyright © 2011-2022 走看看