乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C# 導(dǎo)出pdf(瀏覽器不預(yù)覽直接下載)

       小樣樣樣樣樣樣 2021-04-20

      一.接口部分的代碼

              [HttpGet]
              public HttpResponseMessage ExportPdf(string id)
              {
                  string pdfName = "";
             //id 查詢條件,根據(jù)實際情況修改即可
             //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存在項目的目錄下,可以通過http直接打開項目下的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é)逐個放入到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);
                  //建立一個WEB請求,返回HttpWebRequest對象
                  HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(downUri);
                  //流對象使用完后自動關(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">相對路徑</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;
                  }
              }

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多