因為業務需要調用接口獲取的是?Base64文件流 需要提供給客戶下載PDF文檔
源碼部分借鑒網上,具體地址忘記了。
//Base64文件流 byte[] buffer = Convert.FromBase64String(decodedString); System.IO.Stream iStream = new System.IO.MemoryStream(buffer);try{int length;long dataToRead;string filename = sn + ".pdf";//保存的文件名稱dataToRead = iStream.Length;Response.Clear();Response.ClearHeaders();Response.ClearContent();Response.ContentType = "application/pdf"; //文件類型 Response.AddHeader("Content-Length", dataToRead.ToString());//添加文件長度,進而顯示進度 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));while (dataToRead > 0){if (Response.IsClientConnected){length = iStream.Read(buffer, 0, 10000);Response.OutputStream.Write(buffer, 0, length);Response.Flush();buffer = new Byte[10000];dataToRead = dataToRead - length;}else{dataToRead = -1;}}}catch (Exception ex){Response.Write("文件下載時出現錯誤!");}finally{if (iStream != null){iStream.Close();}//結束響應,否則將導致網頁內容被輸出到文件,進而文件無法打開 Response.Flush();Response.End();}