欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#如何導(dǎo)出pdf

小編給大家分享一下C#如何導(dǎo)出pdf,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、豐縣網(wǎng)站維護(hù)、網(wǎng)站推廣。

方法如下:

一.接口部分的代碼

[HttpGet]
    public HttpResponseMessage ExportPdf(string id)
    {
      string pdfName = "";
       //id 查詢條件,根據(jù)實(shí)際情況修改即可
       //pdfName 例如download.pdf
      byte[] pdfData= _policyGapManagerService.ExportPdf(id, out pdfName);//獲得pdf字節(jié)
      var result = new HttpResponseMessage(HttpStatusCode.OK)
      {
        Content = new ByteArrayContent(pdfData)
      };
      result.Content.Headers.ContentDisposition =
        new ContentDispositionHeaderValue("attachment")
        {
          FileName = pdfName
        };
      result.Content.Headers.ContentType =new MediaTypeHeaderValue("application/pdf");
      return result;
    }

二.返回pdfbyte數(shù)組

1.下載http模式的pdf文件(以ASP.NET為例,將PDF存在項(xiàng)目的目錄下,可以通過http直接打開項(xiàng)目下的pdf文件)

#region 調(diào)用本地文件使用返回pdfbyte數(shù)組

    /// <summary>
    /// 調(diào)用本地文件使用返回pdfbyte數(shù)組
    /// </summary>
    /// <param name="srcPdfFile">‘D:\in2434341555551.pdf'</param>
    /// <returns></returns>

    public static byte[] GetSignaturePDFByte(string srcPdfFile)
    {
      using (FileStream fsRead = new FileStream(srcPdfFile, FileMode.Open, FileAccess.Read, FileShare.Read))
      {
        int fsLen = (int)fsRead.Length;
        byte[] hebyte = new byte[fsLen];
        fsRead.Read(hebyte, 0, hebyte.Length);
        return hebyte;
      }
    }

    #endregion 調(diào)用本地文件使用返回pdfbyte數(shù)組

    #region 從網(wǎng)站上下載pdf,轉(zhuǎn)化為字節(jié)流


    /// <summary>
    /// 從網(wǎng)站上下載pdf,轉(zhuǎn)化為字節(jié)流
    /// </summary>
    /// <param name="srcPdfFile">文件地址:'https://******/group2/M00/00/04/wKj-mlpcoZ2IUbK5AACrpaV6k98AAAB6gAAAAAAAKu9562.pdf'</param>

    /// <returns></returns>
    public static Byte[] GetByteByRemoteURL(string srcPdfFile)
    {
      byte[] arraryByte;
      HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(srcPdfFile);
      req.Method = "GET";
      using (WebResponse wr = req.GetResponse())
      {
        StreamReader responseStream = new StreamReader(wr.GetResponseStream(), Encoding.UTF8);
        int length = (int)wr.ContentLength;
        byte[] bs = new byte[length];

        HttpWebResponse response = wr as HttpWebResponse;
        Stream stream = response.GetResponseStream();

        //讀取到內(nèi)存
        MemoryStream stmMemory = new MemoryStream();
        byte[] buffer1 = new byte[length];
        int i;
        //將字節(jié)逐個(gè)放入到Byte 中
        while ((i = stream.Read(buffer1, 0, buffer1.Length)) > 0)
        {
          stmMemory.Write(buffer1, 0, i);
        }
        arraryByte = stmMemory.ToArray();
        stmMemory.Close();
      }
      return arraryByte;
    }

    #endregion 從網(wǎng)站上下載pdf,轉(zhuǎn)化為字節(jié)流

    #region 從網(wǎng)站上下載文件,保存到其他路徑

    /// <summary>
    /// 從網(wǎng)站上下載文件,保存到其他路徑
    /// </summary>
    /// <param name="pdfFile">文件地址</param>
    /// <param name="saveLoadFile">保存文件路徑:D:\12221.pdf</param>
    /// <returns></returns>
    public string SaveRemoteFile( string saveLoadFile , string pdfFile)
    {
      //bool flag = false;
      var f = saveLoadFile + Guid.NewGuid().ToString("D") + ".pdf";
      Uri downUri = new Uri(pdfFile);
      //建立一個(gè)WEB請(qǐng)求,返回HttpWebRequest對(duì)象
      HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(downUri);
      //流對(duì)象使用完后自動(dòng)關(guān)閉
      using (Stream stream = hwr.GetResponse().GetResponseStream())
      {
        //文件流,流信息讀到文件流中,讀完關(guān)閉
        using (FileStream fs = File.Create(f))
        {
          //建立字節(jié)組,并設(shè)置它的大小是多少字節(jié)
          byte[] bytes = new byte[102400];
          int n = 1;
          while (n > 0)
          {
            //一次從流中讀多少字節(jié),并把值賦給N,當(dāng)讀完后,N為0,并退出循環(huán)
            n = stream.Read(bytes, 0, 10240);
            fs.Write(bytes, 0, n); //將指定字節(jié)的流信息寫入文件流中
          }
        }
      }

      //return flag;
      //return _outPath + saveLoadFile;
      return f;
    }

    #endregion 從網(wǎng)站上下載文件,保存到其他路徑

2.ftp模式的pdf文件

/// <summary>
    /// 下載FTP文件。
    /// </summary>
    /// <param name="offsetPath">相對(duì)路徑</param>
    /// <param name="fileName">文件名稱</param>
    /// <returns>下載結(jié)果,本地文件路徑</returns>
    public string DownLoad(string offsetPath,string fileName)
    {
      try
      {
        FtpWebRequest ftpWeb = (FtpWebRequest)WebRequest.Create(_ftpRootPath + offsetPath + fileName);
        ftpWeb.Method = WebRequestMethods.Ftp.DownloadFile;
        ftpWeb.UseBinary = true;
        var resp = ftpWeb.GetResponse();
        using (FileStream fs = new FileStream(_outPath + fileName, FileMode.Create))
        {
          using (var s = resp.GetResponseStream())
          {
            if (s == null) { return "文件不存在!"; }

            int readCout = 0;
            byte[] bytes = new byte[1024];
            readCout = s.Read(bytes, 0, 1024);
            while (readCout > 0)
            {
              fs.Write(bytes, 0, readCout);
              readCout = s.Read(bytes, 0, 1024);
            }
          }
        }
        resp.Close();
        return _outPath + fileName;
      }
      catch (Exception e)
      {
        return e.Message;
      }
      
    }

    /// <summary>
    /// 判斷文件是否存在
    /// </summary>
    /// <param name="offsetPath"></param>
    /// <param name="fileName"></param>
    /// <returns></returns>
    public bool FileExists(string offsetPath, string fileName)
    {
      try
      {
        FtpWebRequest ftpWeb = (FtpWebRequest)WebRequest.Create(_ftpRootPath + offsetPath + fileName);
        ftpWeb.Method = WebRequestMethods.Ftp.DownloadFile;
        ftpWeb.UseBinary = true;
        var resp = (FtpWebResponse)ftpWeb.GetResponse();
        resp.Close();
        return true;
      }
      catch (Exception)
      {
        return false;
      }
    }

    /// <summary>
    /// 獲取目錄下所有文件
    /// </summary>
    /// <returns></returns>
    public string[] Files(string offsetPath)
    {
      try
      {
        FtpWebRequest ftpWeb = (FtpWebRequest)WebRequest.Create(_ftpRootPath + offsetPath);
        ftpWeb.Method = WebRequestMethods.Ftp.ListDirectory;
        Stream stream = ftpWeb.GetResponse().GetResponseStream();
        if (stream == null)
        {
          return null;
        }
        List<string> fileList = new List<string>();
        using (StreamReader sr = new StreamReader(stream))
        {
          StringBuilder sb = new StringBuilder();
          do
          {
            sb.Append(sr.ReadLine());
            if (sb.Length > 0)
            {
              fileList.Add(sb.ToString());
              sb.Clear();
            }
            else
            {
              break;
            }
          } while (true);
        }
        return fileList.ToArray();
      }
      catch (Exception)
      {
         return null;
      }
    }

以上是“C#如何導(dǎo)出pdf”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:C#如何導(dǎo)出pdf
地址分享:http://chinadenli.net/article34/joepse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站Google、網(wǎng)站改版、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
久久福利视频在线观看| 欧美一级内射一色桃子| 视频在线观看色一区二区| 在线观看国产成人av天堂野外| 中文字幕中文字幕在线十八区| 亚洲av一区二区三区精品| 国产精品亚洲综合色区韩国| 日韩欧美综合在线播放| 久久人妻人人澡人人妻| 亚洲天堂精品一区二区| 超薄丝袜足一区二区三区| 爱在午夜降临前在线观看| 91欧美日韩精品在线| 亚洲中文字幕人妻av| 欧美高潮喷吹一区二区| 丝袜破了有美女肉体免费观看| 日本午夜免费啪视频在线| 99热在线精品视频观看| 黄色激情视频中文字幕| 精品精品国产自在久久高清| 久久成人国产欧美精品一区二区 | 成年男女午夜久久久精品| 亚洲欧美日产综合在线网| 日韩精品小视频在线观看| 亚洲中文字幕乱码亚洲| 国产成人精品99在线观看| 成年人黄片大全在线观看| 亚洲国产一级片在线观看| 成人免费视频免费观看| 免费在线观看激情小视频| 偷自拍亚洲欧美一区二页| 视频一区中文字幕日韩| 男女午夜在线免费观看视频| 亚洲一区二区三在线播放| 色哟哟在线免费一区二区三区| 人妻少妇久久中文字幕久久| 国产精品成人一区二区在线| 国产精品流白浆无遮挡| 真实国产乱子伦对白视频不卡| 欧美一区二区三区喷汁尤物| 亚洲精品一二三区不卡|