/// <summary> /// 发送PDF文件回浏览器端 /// </summary> /// <param name="fileName"></param> /// <param name="ms"></param> /// <param name="encoding"></param> public static void SendFile(string fileName, MemoryStream ms, Encoding encoding = null) { fileName = (fileName + "").Replace(" ", ""); encoding = encoding ?? Encoding.UTF8; if (ms != null && !string.IsNullOrEmpty(fileName)) { System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.Charset = encoding.BodyName;// "utf-8"; if (!HttpContext.Current.Request.UserAgent.Contains("Firefox") && !HttpContext.Current.Request.UserAgent.Contains("Chrome")) { fileName = HttpUtility.UrlEncode(fileName, encoding); } response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); //为了解决打开,导出NPOI生成的xlsx文件时,提示发现不可读取内容。 if (!(fileName + "").ToLower().EndsWith(".xlsx")) { response.AddHeader("Content-Type", "application/octet-stream"); response.BinaryWrite(ms.GetBuffer()); } else { response.BinaryWrite(ms.ToArray()); } ms.Close(); ms = null; response.Flush(); response.End(); } }
public void GetImage(HttpResponse reponse, int id) { using (SqlConnection connection = new SqlConnection("Data Source=DESKTOP-5A9RHHB;Initial Catalog=EcommerceSimplifie; Integrated Security=True")) { //try //{ SqlCommand command = new SqlCommand("select Picture.PictureBinary, Picture.MimeType from Picture inner join Product_Picture_Mapping on Picture.Id = Product_Picture_Mapping.PictureId where ProductId = @id and DisplayOrder = 1;"); command.Connection = connection; command.Parameters.Add(new SqlParameter("@id", id)); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { //type de l'image string typeMime = reader.GetString(1); reponse.ContentType = (string.IsNullOrEmpty(typeMime)) ? "image/jpeg" : typeMime; //mise en cache reponse.Cache.SetCacheability(HttpCacheability.Public); int indexDepart = 0; int tailleBuffer = 1024; long nombreOctets = 0; Byte[] flux = new Byte[1024]; nombreOctets = reader.GetBytes(0, indexDepart, flux, 0, tailleBuffer); while (nombreOctets == tailleBuffer) { reponse.BinaryWrite(flux); reponse.Flush(); indexDepart += tailleBuffer; nombreOctets = reader.GetBytes(0, indexDepart, flux, 0, tailleBuffer); } if (nombreOctets > 0) { reponse.BinaryWrite(flux); reponse.Flush(); } reponse.End(); } //catch(Exception) //{ // throw new Exception("Pas d'image disponible."); //} //} } }
/// <summary> /// Exports in csv format. /// </summary> /// <param name="txtString"></param> /// <param name="filename"></param> public static void ExportCSV(string txtString, string filename) { System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.Charset = "utf-16"; response.AddHeader("Content-Type", "text/csv"); response.AddHeader("content-disposition", String.Format("attachment; filename={0}", filename)); System.IO.StringWriter s = new System.IO.StringWriter(); response.BinaryWrite(new byte[] { 0xff, 0xfe }); response.BinaryWrite(Encoding.Unicode.GetBytes(txtString)); response.End(); }
protected void Page_Load(object sender, EventArgs e) { HtmlToPdf.Options.PageSize = PdfPageSizes.A4;// new SizeF(PdfPageSizes.A4.Height, PdfPageSizes.A4.Width); HtmlToPdf.Options.OutputArea = new RectangleF(0.05f, 0.07f, 8.17f, 12f); MemoryStream ms = new MemoryStream(); string fileName = "ANGLO-EASTERN SHIP MANAGEMENT"; var watch = System.Diagnostics.Stopwatch.StartNew(); HtmlToPdf.ConvertUrl("D:\\" + fileName + ".html", ms); watch.Stop(); //HtmlToPdf.ConvertUrl("D:\\HtmlContentForPdf.html", "D:\\result.pdf"); byte[] bPDFBytes = ms.ToArray(); var timeTakenToConvert = watch.ElapsedMilliseconds; System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "application/pdf"); response.AddHeader("Content-Disposition", "attachment; filename=Eo_" + fileName + "_" + timeTakenToConvert + ".pdf; size=" + bPDFBytes.Length.ToString()); response.Flush(); response.BinaryWrite(bPDFBytes); response.Flush(); response.End(); }
/// <summary> /// 根据所选文件打包下载 /// 编写日期:2018/2/22 /// 编写人:郑亚波 /// </summary> /// <param name="response"></param> /// <param name="files"></param> /// <param name="zipFileName"></param> public void Download(System.Web.HttpResponse response, IEnumerable <string> files, string zipFileName) { //根据所选文件打包下载 System.IO.MemoryStream ms = new System.IO.MemoryStream(); byte[] buffer = null; using (ICSharpCode.SharpZipLib.Zip.ZipFile file = ICSharpCode.SharpZipLib.Zip.ZipFile.Create(ms)) { file.BeginUpdate(); file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。 foreach (var item in files) { if (System.IO.File.Exists(item.ToString())) { file.Add(item); } } file.CommitUpdate(); buffer = new byte[ms.Length]; ms.Position = 0; ms.Read(buffer, 0, buffer.Length); } response.AddHeader("content-disposition", "attachment;filename=" + zipFileName); response.BinaryWrite(buffer); response.Flush(); response.End(); }
//defaultfile is under userpath public static void GetImageFromFile(string filename,string defaultfile,HttpResponse response) { if (!File.Exists(filename)) { string userdatapath = Functions.GetAppConfigString("UserDataPath", ""); filename = userdatapath + "\\"+defaultfile; } System.IO.FileStream fs = null; System.IO.MemoryStream ms = null; try { fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Close(); ms = new System.IO.MemoryStream(buffer); response.ClearContent(); response.BinaryWrite(ms.ToArray()); ms.Close(); } finally { fs.Dispose(); ms.Dispose(); } }
public static void ExportGridViewToExcel(string strFileName, DataTable dt, System.Web.HttpResponse response) { System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); System.Web.UI.WebControls.DataGrid dgGrid = new System.Web.UI.WebControls.DataGrid(); dgGrid.DataSource = dt; dgGrid.DataBind(); //Get the HTML for the control. dgGrid.RenderControl(hw); ////Write the HTML back to the browser. ////Response.ContentType = application/vnd.ms-excel; //response.ContentType = "application/vnd.ms-excel"; //response.AppendHeader("Content-Disposition", "attachment; filename=" + strFileName + ".xls"); //response.Write(tw.ToString()); //response.End(); byte[] bytes = System.Text.Encoding.Default.GetBytes(tw.ToString()); // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. response.Buffer = true; response.Clear(); response.ClearContent(); response.ClearHeaders(); response.ContentType = "application/vnd.ms-excel"; response.ContentEncoding = System.Text.Encoding.Unicode; response.AddHeader("content-disposition", "attachment; filename=" + strFileName + ".xls"); response.BinaryWrite(bytes); // create the file response.End(); // send it to the client to download }
/// <summary> /// Create MS-Report /// </summary> /// <param name="reportPath">string path</param> /// <param name="reportType">PDF,Excel</param> /// <param name="reportName">name of report</param> /// <param name="reportDataSource">Data source report</param> /// <param name="response">HttpResponse</param> public static void ExportMSReport(string reportPath, string reportType, string reportName, ReportDataSource reportDataSource, System.Web.HttpResponse response) { // Variables Warning[] warnings; string[] streamIds; string mimeType = string.Empty; string encoding = string.Empty; string extension = string.Empty; // Setup the report viewer object and get the array of bytes ReportViewer viewer = new ReportViewer(); viewer.ProcessingMode = ProcessingMode.Local; viewer.LocalReport.DataSources.Add(reportDataSource); viewer.LocalReport.ReportPath = reportPath; byte[] bytes = viewer.LocalReport.Render(reportType, null, out mimeType, out encoding, out extension, out streamIds, out warnings); // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. response.Buffer = true; response.Clear(); response.ClearContent(); response.ClearHeaders(); response.ContentType = mimeType; response.ContentEncoding = System.Text.Encoding.UTF8; response.AddHeader("content-disposition", "attachment; filename=" + reportName + "." + extension); response.BinaryWrite(bytes); // create the file response.End(); // send it to the client to download }
protected void btnPDF_Click222(object sender, EventArgs e) { string downloadName = "Report"; byte[] downloadBytes = null; downloadName += ".pdf"; PdfConverter pdfConverter = new PdfConverter(); pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; pdfConverter.PdfStandardSubset = PdfStandardSubset.Full; pdfConverter.PdfDocumentOptions.AutoSizePdfPage = true; pdfConverter.PdfDocumentOptions.EmbedFonts = true; pdfConverter.PdfDocumentOptions.BottomMargin = 80; pdfConverter.PdfDocumentOptions.TopMargin = 50; string url = string.Format("http://{0}/ExamOnline/ExamPaperStorage/ExamPaperView.aspx?epid=39&isPdf=1", Request.Url.Host); downloadBytes = pdfConverter.GetPdfBytesFromUrl(url); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + downloadName + "; size=" + downloadBytes.Length.ToString()); response.Flush(); response.BinaryWrite(downloadBytes); response.Flush(); response.End(); }
public void Process(HttpResponse response) { response.AppendHeader("Last-Modified", serverFingerprint.LastModifiedTime.ToString("r")); response.AppendHeader("ETag", serverFingerprint.ETag); response.AppendHeader("Cache-Control", "private, max-age=0"); response.BinaryWrite(content); }
public void Genratepdf1(string str_Url, string filename) { try { string temp_path = ""; PdfConverter pdfConverter_Transcrpit = new PdfConverter(); string temp1 = ""; pdfConverter_Transcrpit.LicenseKey = "eVJIWUtLWUtZTFdJWUpIV0hLV0BAQEA="; PdfDocumentOptions docopt = new PdfDocumentOptions(); pdfConverter_Transcrpit.PageWidth = 1100; pdfConverter_Transcrpit.PageHeight = 500; byte[] downloadBytes = pdfConverter_Transcrpit.GetPdfFromUrlBytes(str_Url); pdfConverter_Transcrpit.SavePdfFromUrlToFile(str_Url, "D:\\LMS2.0Final\\LMS\\ABN\\pdfs\\test1.pdf"); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + filename + ".pdf" + "; size=" + downloadBytes.Length.ToString()); response.Flush(); response.BinaryWrite(downloadBytes); response.Flush(); response.End(); } catch (Exception EX) { //return ""; throw EX; } }
/// <summary> /// Create an Excel file, and write it out to a MemoryStream (rather than directly to a file) /// </summary> /// <param name="ds">DataSet containing the data to be written to the Excel.</param> /// <param name="filename">The filename (without a path) to call the new Excel file.</param> /// <param name="Response">HttpResponse of the current page.</param> /// <returns>Either a MemoryStream, or NULL if something goes wrong.</returns> public static bool CreateExcelDocumentAsStream(DataSet ds, string filename, System.Web.HttpResponse Response) { System.IO.MemoryStream stream = new System.IO.MemoryStream(); using (SpreadsheetDocument document = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, true)) { WriteExcelFile(ds, document); } stream.Flush(); stream.Position = 0; Response.ClearContent(); Response.Clear(); Response.Buffer = true; Response.Charset = ""; // NOTE: If you get an "HttpCacheability does not exist" error on the following line, make sure you have // manually added System.Web to this project's References. Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); Response.AddHeader("content-disposition", "attachment; filename=" + filename); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; byte[] data1 = new byte[stream.Length]; stream.Read(data1, 0, data1.Length); stream.Close(); Response.BinaryWrite(data1); Response.Flush(); return(true); }
/// <summary> /// Writes the result directly into the response stream, e.g. for a classic ASP.NET response /// </summary> /// <param name="response">A standard HttpResponse object</param> /// <param name="result">An IBackloadResult object</param> public static void Write(HttpResponse response, IBackloadResult result) { response.StatusCode = (int)result.HttpStatusCode; if ((int)result.HttpStatusCode < 300) { // Write result to the response (Json or file data, default: Json response) if (result.RequestType == RequestType.Default) { // Json response (We use the systems JavaScriptSerializer, you can also use Newtonsoft.Json) IFileStatusResult status = (IFileStatusResult)result; var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); if ((status.ClientStatus != null) && (result.Exception == null)) response.Write(serializer.Serialize(status.ClientStatus)); } else if ((result.RequestType == RequestType.File) || (result.RequestType == RequestType.Thumbnail)) { // file data (byte array) response IFileDataResult data = (IFileDataResult)result; if ((data.FileData != null) && (result.Exception == null)) response.BinaryWrite(data.FileData); } } }
public bool ReturnXlsBytes(System.Web.HttpResponse resp, byte[] data, string fileName) { resp.ClearHeaders(); resp.ClearContent(); DialogUtils.SetCookieResponse(resp); resp.HeaderEncoding = System.Text.Encoding.Default; resp.AddHeader("Content-Disposition", "attachment; filename=" + fileName); resp.AddHeader("Content-Length", data.Length.ToString()); resp.ContentType = "application/octet-stream"; resp.Cache.SetCacheability(HttpCacheability.NoCache); /* * resp.BufferOutput = false; * resp.WriteFile(f.FullName); * resp.Flush(); * resp.End(); */ resp.BufferOutput = true; resp.BinaryWrite(data); //resp.End(); return(true); }
/// <summary> /// Datatable数据填充如excel /// </summary> /// <param name="filename">excel文件名</param> /// <param name="dt"> 数据源</param> /// <param name="Response"> response响应</param> /// <param name="headerStr"> 表头标题</param> public static void DataTableToExcel(string filename, DataTable dt, string sheetname, HttpResponse Response, string headerStr) { MemoryStream ms = StreamData(dt, sheetname, headerStr) as MemoryStream; //as MemoryStream as用作转换,此处可以省略 try { Response.Clear(); Response.ContentType = "application/vnd.ms-excel"; Response.ContentEncoding = Encoding.UTF8; Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".xls")); Response.AddHeader("content-length", ms.Length.ToString()); Byte[] data = ms.ToArray(); //文件写入采用二进制流的方式。所以此处要转换为字节数组 Response.BinaryWrite(data); } catch { Response.Clear(); Response.ClearHeaders(); Response.Write("<script language=javascript>alert( '导出Excel错误'); </script>"); } Response.Flush(); Response.Close(); Response.End(); ms = null; }
public static void ExportToExcel(DataTable dt, string fileName) { System.Web.HttpResponse Response = System.Web.HttpContext.Current.Response; Response.ContentType = "application/csv"; Response.Charset = ""; Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); Response.ContentEncoding = Encoding.Unicode; Response.BinaryWrite(Encoding.Unicode.GetPreamble()); DataTable dtb = dt; try { StringBuilder sb = new StringBuilder(); //Tạo dòng tiêu để cho bảng tính for (int count = 0; count < dtb.Columns.Count; count++) { if (dtb.Columns[count].ColumnName != null) { sb.Append(dtb.Columns[count].ColumnName); } if (count < dtb.Columns.Count - 1) { sb.Append("\t"); } } Response.Write(sb.ToString() + "\n"); Response.Flush(); //Duyệt từng bản ghi int soDem = 0; while (dtb.Rows.Count >= soDem + 1) { sb = new StringBuilder(); for (int col = 0; col < dtb.Columns.Count - 1; col++) { if (dtb.Rows[soDem][col] != null) { sb.Append(dtb.Rows[soDem][col].ToString().Replace(",", " ")); } sb.Append("\t"); } if (dtb.Rows[soDem][dtb.Columns.Count - 1] != null) { sb.Append(dtb.Rows[soDem][dtb.Columns.Count - 1].ToString().Replace(",", " ")); } Response.Write(sb.ToString() + "\n"); Response.Flush(); soDem = soDem + 1; } } catch (Exception ex) { Response.Write(ex.Message); } dtb.Dispose(); Response.End(); }
protected void Page_Load(object sender, EventArgs e) { try { List <EvaluacionEntidades.Empleados> list; if (!string.IsNullOrEmpty(Request.QueryString["idadmin"])) { DateTime?inicio = null; if (!string.IsNullOrEmpty(Request.QueryString["inicio"])) { inicio = DateTime.Parse(Request.QueryString["inicio"]); } DateTime?fin = null; if (!string.IsNullOrEmpty(Request.QueryString["fin"])) { fin = DateTime.Parse(Request.QueryString["fin"]); } int?idSuper = null; if (!string.IsNullOrEmpty(Request.QueryString["supervisorid"])) { idSuper = int.Parse(Request.QueryString["supervisorid"]); } list = EvaluacionBL.EmpleadosBL.GetEmpleadoAdmin(int.Parse(Request.QueryString["idadmin"]), Request.QueryString["pais"], inicio, fin, Request.QueryString["departamento"], Request.QueryString["estado"], idSuper); } else { list = EvaluacionBL.EmpleadosBL.GetEmpleadosSupervisados(int.Parse(Request.QueryString["idSupervisor"])); } if (list != null && list.Count > 0) { System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.ClearContent(); response.ClearHeaders(); //Tipo de contenido para forzar la descarga response.ContentType = "application/octet-stream"; Response.HeaderEncoding = System.Text.Encoding.Default; response.AddHeader("Content-Disposition", "attachment; filename=" + "EmpleadosDesempeño.xlsx"); System.IO.MemoryStream grilla = Helpers.funcionesGenerales.ConvierteCSVEmpleados(list); // System.Text.Encoding encoding = new System.Text.UTF8Encoding(); // byte[] bufferAux = grilla.ToArray(); // byte[] buffer; //System.Text.Encoding utf8 = new System.Text.UTF8Encoding(); // System.Text.Encoding win1252 = System.Text.Encoding.GetEncoding(1252); // buffer = System.Text.Encoding.Convert(utf8,win1252,bufferAux); //while (mContador < grilla.Length) //{ // buffer[mContador] = Chr grilla.Substring(mContador,1) Strings.Asc(Strings.Mid(pCSV, mContador + 1, 1)); // mContador = mContador + 1; //} //Envia los bytes response.BinaryWrite(grilla.ToArray()); response.End(); } } catch (Exception ex) { } }
public static bool DownFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed) { try { FileStream input = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader reader = new BinaryReader(input); try { _Response.AddHeader("Accept-Ranges", "bytes"); _Response.Buffer = false; long length = input.Length; long num2 = 0L; int count = 0x2800; double d = ((long) (0x3e8 * count)) / _speed; int millisecondsTimeout = ((int) Math.Floor(d)) + 1; if (_Request.Headers["Range"] != null) { _Response.StatusCode = 0xce; num2 = Convert.ToInt64(_Request.Headers["Range"].Split(new char[] { '=', '-' })[1]); } _Response.AddHeader("Content-Length", (length - num2).ToString()); if (num2 != 0L) { _Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", num2, length - 1L, length)); } _Response.AddHeader("Connection", "Keep-Alive"); _Response.ContentType = "application/octet-stream"; _Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(_fileName, Encoding.UTF8)); reader.BaseStream.Seek(num2, SeekOrigin.Begin); double num6 = (length - num2) / ((long) count); int num7 = ((int) Math.Floor(num6)) + 1; for (int i = 0; i < num7; i++) { if (_Response.IsClientConnected) { _Response.BinaryWrite(reader.ReadBytes(count)); Thread.Sleep(millisecondsTimeout); } else { i = num7; } } } catch { return false; } finally { reader.Close(); input.Close(); } } catch { return false; } return true; }
public void ExportTableData(DataTable dt) { System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; string attach = "attachment;filename=" + formName + ".xls"; response.ClearContent(); response.AddHeader("content-disposition", attach); response.ContentType = "application/ms-excel"; response.ContentEncoding = System.Text.Encoding.Unicode; response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble()); if (dt != null) { string tab = ""; foreach (DataColumn dc in dt.Columns) { response.Write(tab + dc.ColumnName); tab = "\t"; } response.Write(System.Environment.NewLine); foreach (DataRow dr in dt.Rows) { tab = ""; for (int i = 0; i < dt.Columns.Count; i++) { response.Write(tab + dr[i].ToString().Replace("\n", " ")); tab = "\t"; } response.Write("\n"); } response.Flush(); response.End(); } }
public void Genratepdftext(string text, string fname) { try { string temp_path = ""; PdfConverter pdfConverter_Transcrpit = new PdfConverter(); string temp1 = ""; pdfConverter_Transcrpit.LicenseKey = "eVJIWUtLWUtZTFdJWUpIV0hLV0BAQEA="; byte[] downloadBytes = pdfConverter_Transcrpit.GetPdfBytesFromHtmlString(text); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + fname + ".pdf" + "; size=" + downloadBytes.Length.ToString()); response.Flush(); response.BinaryWrite(downloadBytes); response.Flush(); response.End(); } catch (Exception EX) { //return ""; throw EX; } }
//输出图像 private void Output(Chart OutputChart) { MemoryStream MS = new MemoryStream(); OutputChart.SaveImage(MS, ChartImageFormat.Png); MS.Seek(0, System.IO.SeekOrigin.Begin); Response.ContentType = "application/octet-stream"; Response.BinaryWrite(MS.ToArray()); }
public static void DownloadFile(System.Web.HttpResponse Response, string filePath) { Byte[] file = File.ReadAllBytes(filePath); File.Delete(filePath); Response.ContentType = "documento/" + Path.GetExtension(filePath).ToUpper(); Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath)); Response.BinaryWrite(file); Response.End(); }
public void Genratepdftext(string url) { try { string temp_path = ""; PdfConverter pdfobj = new PdfConverter(); string temp1 = ""; pdfobj.LicenseKey = "eVJIWUtLWUtZTFdJWUpIV0hLV0BAQEA="; pdfobj.PdfDocumentOptions.ShowHeader = false; pdfobj.PdfDocumentOptions.ShowFooter = false; pdfobj.PdfDocumentInfo.AuthorName = "Cyber Best Technologies"; pdfobj.PdfDocumentInfo.Title = "Pharmacy Board"; pdfobj.PdfDocumentInfo.Subject = "Certificate"; if (Convert.ToInt32(Request.QueryString[0].ToString().Substring(1)) < 11 || Convert.ToInt32(Request.QueryString[0].ToString().Substring(1)) > 19) { float width = (8.50f / 1.0f) * 72f; float height = (11 / 1.0f) * 72f; pdfobj.PdfDocumentOptions.AutoSizePdfPage = false; pdfobj.PdfDocumentOptions.PdfPageSize = PdfPageSize.Custom; pdfobj.PdfDocumentOptions.CustomPdfPageSize = new SizeF(width, height); pdfobj.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Portrait; } else { float width = (11f / 1.0f) * 72f; float height = (8.50f / 1.0f) * 72f; pdfobj.PdfDocumentOptions.AutoSizePdfPage = false; pdfobj.PdfDocumentOptions.PdfPageSize = PdfPageSize.Custom; pdfobj.PdfDocumentOptions.CustomPdfPageSize = new SizeF(width, height); pdfobj.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Landscape; } //pdfobj.PdfDocumentInfo.Keywords = "HTML, PDF,Converter"; pdfobj.PdfDocumentInfo.CreatedDate = DateTime.Now; byte[] downloadBytes = pdfobj.GetPdfBytesFromUrl(url); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); // response.Flush(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + pname() + ".pdf; size=" + downloadBytes.Length.ToString()); response.BinaryWrite(downloadBytes); PersonLicensing.Utilities_Licensing.GetCertficateJournal(Request.QueryString["refid"], pname().Replace("_", " "), Session["UID"].ToString()); // response.Flush(); // response.End(); } catch (Exception EX) { //return ""; throw EX; } }
public static void OutputExcel(System.Web.HttpServerUtility server, System.Web.HttpResponse response, string filename, MemoryStream ms) { byte[] bytes = ms.GetBuffer(); response.Charset = "UTF8"; response.ContentEncoding = Encoding.UTF8; response.AddHeader("Content-Disposition", "attachment; filename=" + server.UrlEncode(filename + ".xls")); response.ContentType = "application/vnd.ms-excel"; response.BinaryWrite(bytes); response.End(); }
/// <summary> /// Sends the file to the response with content-length header /// Works with all types of files, not image specific /// </summary> /// <param name="response"></param> /// <param name="file"></param> /// <param name="mimetype"></param> private static void SendToResponse(HttpResponse response, byte[] fileContent, DateTime lastWriteTime, string mimetype) { response.ClearHeaders(); setCacheHeaders(response); response.Cache.SetLastModified(lastWriteTime); // to avoid rounding problems with header (no millisecs there) response.ContentType = mimetype; response.AppendHeader("Content-Length", fileContent.Length.ToString()); response.BinaryWrite(fileContent); response.End(); }
public static bool ResponseFile(HttpRequest request, HttpResponse response, string fileName, string fullPath, long speed, string pageUrl) { FileStream myFile = new FileStream(fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try { response.AddHeader("Accept-Ranges", "bytes"); response.Buffer = false; long fileLength = myFile.Length; long startBytes = 0; const int pack = 10240; int sleep = (int)Math.Floor((double)(1000 * pack / speed)) + 1; if (request.Headers["Range"] != null) { response.StatusCode = 206; string[] range = request.Headers["Range"].Split(new[] { '=', '-' }); startBytes = Convert.ToInt64(range[1]); } response.AddHeader("Content-Length", (fileLength - startBytes).ToString()); if (startBytes != 0) { response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength - 1, fileLength)); } response.AddHeader("Connection", "Keep-Alive"); response.ContentType = "application/octet-stream"; response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8)); br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int)Math.Floor((double)((fileLength - startBytes) / pack)) + 1; for (int i = 0; i < maxCount; i++) { if (response.IsClientConnected) { response.BinaryWrite(br.ReadBytes(pack)); Thread.Sleep(sleep); } else { i = maxCount; } } } finally { br.Close(); myFile.Close(); } return true; }
public void Genratepdftext1(string murl, string fname) { try { string temp_path = ""; PdfConverter pdfobj = new PdfConverter(); string temp1 = ""; pdfobj.LicenseKey = "eVJIWUtLWUtZTFdJWUpIV0hLV0BAQEA="; pdfobj.PdfDocumentOptions.ShowHeader = false; pdfobj.PdfDocumentOptions.ShowFooter = false; string thisPageURL = HttpContext.Current.Request.Url.AbsoluteUri; thisPageURL = thisPageURL.Substring(0, thisPageURL.LastIndexOf('/')); string headerAndFooterHtmlUrl = thisPageURL.Substring(0, thisPageURL.LastIndexOf('/') + 1) + "Prints/header.htm"; pdfobj.PdfHeaderOptions.HtmlToPdfArea = new HtmlToPdfArea(headerAndFooterHtmlUrl); //enable header AddFooter(pdfobj); // set the header height in points pdfobj.PdfHeaderOptions.DrawHeaderLine = true; pdfobj.PdfHeaderOptions.HeaderHeight = 150; pdfobj.PdfHeaderOptions.HeaderText = ""; pdfobj.PdfHeaderOptions.HeaderSubtitleText = ""; pdfobj.PdfDocumentOptions.EmbedFonts = true; pdfobj.PdfDocumentInfo.AuthorName = "Cyber Best Technologies"; pdfobj.PdfDocumentInfo.Title = "Pharmacy Board"; pdfobj.PdfDocumentInfo.Subject = "Print LMS Forms"; //pdfobj.PdfDocumentInfo.Keywords = "HTML, PDF,Converter"; pdfobj.PdfDocumentInfo.CreatedDate = DateTime.Now; float width = (8.50f / 1.0f) * 72f; float height = (11 / 1.0f) * 72f; pdfobj.PdfDocumentOptions.AutoSizePdfPage = false; pdfobj.PdfDocumentOptions.PdfPageSize = PdfPageSize.Custom; pdfobj.PdfDocumentOptions.CustomPdfPageSize = new SizeF(width, height); pdfobj.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Portrait; pdfobj.PdfDocumentOptions.LeftMargin = 10; pdfobj.PdfDocumentOptions.RightMargin = 10; byte[] downloadBytes = pdfobj.GetPdfBytesFromHtmlStream(GenerateStreamFromString(txtcomplaint.Text), System.Text.Encoding.Default); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + fname + ".pdf; size=" + downloadBytes.Length.ToString()); response.BinaryWrite(downloadBytes); } catch (Exception EX) { //return ""; throw EX; } }
/// <summary> /// Generates a PDF document from the URL passed in, and returns to user in the HttpResponse (as a download) /// </summary> /// <param name="inUrl"></param> /// <param name="inPasswordProtectRandomly"></param> /// <param name="inOrientation"></param> /// <param name="inPageSize"></param> /// <param name="inServer">The requesting server (Page.Server when requested by an aspx or ascx page)</param> /// <param name="inFileName"></param> public static void GeneratePDFfromURL(string inUrl, bool inPasswordProtectRandomly, PDFPageOrientation inOrientation, PdfPageSize inPageSize, HttpServerUtility inServer, string inFileName) { // get the pdf bytes from html string byte[] downloadBytes = GetPDFfromURL(inUrl, inPasswordProtectRandomly, inOrientation, inPageSize, inServer); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + ((inFileName.Length > 0) ? inFileName : "Report") + ".pdf; size=" + downloadBytes.Length.ToString()); response.BinaryWrite(downloadBytes); }
public void Flush(System.Web.HttpResponse resp) { byte[] data1 = output.ToArray(); if (!useGZip_ || data1.Length < 200) { finalOutLength = data1.Length; resp.BinaryWrite(data1); return; } // compress MemoryStream ms = new MemoryStream(); GZipStream GZip = new GZipStream(ms, CompressionMode.Compress); GZip.Write(data1, 0, data1.Length); GZip.Close(); // get compressed bytes byte[] data2 = ms.ToArray(); ms.Close(); // if compression failed (more data) if (data2.Length >= data1.Length) { finalOutLength = data1.Length; resp.BinaryWrite(data1); return; } resp.BufferOutput = true; resp.ContentType = "application/octet-stream"; resp.Write("$1"); //resp.Write(string.Format("SIZE: {0} vs {1}<br>", data1.Length, data2.Length)); finalOutLength = data2.Length; resp.BinaryWrite(data2); resp.Flush(); }
/// <summary> /// Export CSV File /// </summary> /// <param name="fileName">Name of file</param> /// <param name="dataSource">Data source report</param> /// <param name="response">HttpResponse</param> public static void ExportCSVFile(string fileName, DataTable dataSource, System.Web.HttpResponse response) { byte[] bytes; if ((dataSource.Rows.Count == 0)) { string text = ""; if (dataSource.Columns.Count != 0) { text = dataSource.Columns[0].ColumnName; for (int i = 1; i < dataSource.Columns.Count; i++) { text = string.Format("{0},{1}", text, dataSource.Columns[i].ColumnName); } } text = string.Format("{0}\r\n", text); bytes = System.Text.Encoding.UTF8.GetBytes(text); } else { string text = dataSource.Columns[0].ColumnName; for (int i = 1; i < dataSource.Columns.Count; i++) { text = string.Format("{0},{1}", text, dataSource.Columns[i].ColumnName); } text = string.Format("{0}", text); for (int i = 0; i < dataSource.Rows.Count; i++) { string txtStr = StripCommaCharArray(dataSource.Rows[i][0].ToString()); for (int j = 1; j < dataSource.Columns.Count; j++) { txtStr = string.Format("{0},{1}", txtStr, ReportUtil.StripAllTagsCharArray(StripCommaCharArray(dataSource.Rows[i][j].ToString()))); } text = string.Format("{0}\r\n{1}", text, txtStr); txtStr = ""; } text = string.Format("{0}\r\n", text); bytes = System.Text.Encoding.UTF8.GetBytes(text); } // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. response.Buffer = true; response.Clear(); response.ClearContent(); response.ClearHeaders(); response.ContentType = "text/csv"; response.ContentEncoding = System.Text.Encoding.UTF8; response.AddHeader("content-disposition", "attachment; filename=" + fileName + ".csv"); response.BinaryWrite(bytes); // create the file response.End(); // send it to the client to download }
public static void ToExcel(HttpResponse Response,DataTable dt , string fileName) { Response.ContentType = "application/csv"; Response.Charset = ""; Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); Response.ContentEncoding = Encoding.Unicode; Response.BinaryWrite(Encoding.Unicode.GetPreamble()); try { StringBuilder sb = new StringBuilder(); //Add Header for (int count = 0; count < dt.Columns.Count - 1; count++) { if (dt.Columns[count].ColumnName != null) sb.Append(dt.Columns[count].ColumnName); sb.Append("\t"); } Response.Write(sb.ToString() + "\n"); Response.Flush(); //Append Data int index = 0; while (dt.Rows.Count >= index + 1) { sb = new StringBuilder(); for (int col = 0; col < dt.Columns.Count -1; col++) { if (dt.Rows[index][col] != null) //sb.Append(dt.Rows[index][col].ToString().Replace(",", " ")); sb.Append(dt.Rows[index][col].ToString()); sb.Append("\t"); } Response.Write(sb.ToString() + "\n"); Response.Flush(); index = index + 1; } } catch (Exception ex) { Response.Write(ex.Message); } dt.Dispose(); Response.End(); }
public static void RackHandleRequest(HttpRequest request, HttpResponse response) { MyRackImage.BasePath = "Rack.Net.Tests/"; IResponse call = rackApp.Call(ConvertToDicationary(request.Params)); TransferHeader(response, call.Headers); if (call.Body.IsString()) { response.Write(call.Body.ToString()); } else { response.BinaryWrite(call.Body.ToBytes()); } }
public static void OutputReportToSaveInXls(string fileName, XtraReport xtraReport, System.Web.HttpResponse response, XlsExportOptions xlsOptions) { using (var ms = new MemoryStream()) { xtraReport.ExportToXls(ms, xlsOptions); ms.Seek(0, SeekOrigin.Begin); byte[] report = ms.ToArray(); response.Buffer = true; response.Clear(); response.ContentType = "application/vnd.ms-excel"; response.AddHeader("content-disposition", "attachment; filename=" + fileName + "_" + DateTime.Now.ToString("dd_MM_yyyy", new System.Globalization.CultureInfo("en-US")) + "." + "xls"); response.BinaryWrite(report); response.Flush(); } }
/// <summary> /// /// </summary> /// <param name="httpResponse"></param> /// <param name="body"></param> protected void ProcessResponse(HttpResponse httpResponse, ResponseBody body) { try { SetResponseHead(httpResponse); var buffer = ResponseFormater.Serialize(body); httpResponse.BinaryWrite(buffer); } catch (Exception error) { TraceLog.WriteError("Response handle error:{0}", error); httpResponse.StatusCode = 500; httpResponse.StatusDescription = "Response error."; } }
private static void ResponseWrite(string Result, string FileName, string ContentType) { System.Web.HttpResponse Response = System.Web.HttpContext.Current.Response; byte[] lstByte = System.Text.Encoding.UTF8.GetBytes(Result); Response.ClearHeaders(); Response.ClearContent(); Response.ContentType = string.Format("{0}; charset=utf-8", ContentType); Response.AppendHeader("Content-disposition", string.Format("attachment; filename=\"{0}\"", FileName)); Response.AppendHeader("Content-Length", lstByte.Length.ToString()); Response.BinaryWrite(lstByte); Response.Flush(); Response.End(); }
/// <summary> /// Method to provide create Plain Text for download from website /// </summary> /// <param name="reportName">Report name</param> /// <param name="plainText">Data text</param> /// <param name="response">HttpResponse</param> /// /// <summary> public static void ExportPlainText(string reportName, string plainText, System.Web.HttpResponse response) { byte[] bytes = System.Text.Encoding.UTF8.GetBytes(plainText); // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. response.Buffer = true; response.Clear(); response.ClearContent(); response.ClearHeaders(); response.ContentType = "text/plain"; response.ContentEncoding = System.Text.Encoding.UTF8; response.AddHeader("content-disposition", "attachment; filename=" + reportName + ".txt"); response.BinaryWrite(bytes); // create the file response.End(); // send it to the client to download }
/// <summary> /// 将workbook从浏览器端下载 /// </summary> /// <param name="workbook">Workbook</param> /// <param name="response">HttpResponse</param> /// <param name="filename">保存的文件名</param> public static void Download(Workbook workbook, System.Web.HttpResponse response, string filename = null) { if (string.IsNullOrEmpty(filename)) { filename = DateTime.Now.ToString("yyyyMMdd_hhMMssfff") + ".xls"; } response.Clear(); response.Buffer = true; response.Charset = "utf-8"; response.AppendHeader("Content-Disposition", "attachment;filename=" + filename); response.ContentEncoding = System.Text.Encoding.UTF8; response.ContentType = "application/ms-excel"; response.BinaryWrite(workbook.SaveToStream().ToArray()); response.End(); }
/// <summary> /// Create an Excel file, and write it out to a MemoryStream (rather than directly to a file) /// </summary> /// <param name="ds">DataSet containing the data to be written to the Excel.</param> /// <param name="filename">The filename (without a path) to call the new Excel file.</param> /// <param name="Response">HttpResponse of the current page.</param> /// <returns>Either a MemoryStream, or NULL if something goes wrong.</returns> public static bool CreateExcelDocumentAsStream(DataSet ds, string filename, System.Web.HttpResponse Response) { try { System.IO.MemoryStream stream = new System.IO.MemoryStream(); using (SpreadsheetDocument document = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, true)) { WriteExcelFile(ds, document); } stream.Flush(); stream.Position = 0; Response.ClearContent(); Response.Clear(); Response.Buffer = true; Response.Charset = ""; // NOTE: If you get an "HttpCacheability does not exist" error on the following line, make sure you have // manually added System.Web to this project's References. Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); Response.AddHeader("content-disposition", "attachment; filename=" + filename); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AppendHeader("content-length", stream.Length.ToString()); byte[] data1 = new byte[stream.Length]; stream.Read(data1, 0, data1.Length); stream.Close(); Response.BinaryWrite(data1); Response.Flush(); // Feb2015: Needed to replace "Response.End();" with the following 3 lines, to make sure the Excel was fully written to the Response System.Web.HttpContext.Current.Response.Flush(); System.Web.HttpContext.Current.Response.SuppressContent = true; System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest(); return(true); } catch (Exception ex) { Trace.WriteLine("Failed, exception thrown: " + ex.Message); // Display an error on the webpage. System.Web.UI.Page page = System.Web.HttpContext.Current.CurrentHandler as System.Web.UI.Page; page.ClientScript.RegisterStartupScript(page.GetType(), "log", "console.log('Failed, exception thrown: " + ex.Message + "')", true); return(false); } }
protected override Gizmox.WebGUI.Common.Interfaces.IGatewayHandler ProcessGatewayRequest(System.Web.HttpContext objHttpContext, String strAction) { if ((strAction != null) && (strAction == "LoadPDF")) { // Variables Warning[] warnings; String[] streamIds; String mimeType = String.Empty, encoding = String.Empty, extension = String.Empty; // Setup the report viewer object and get the array of bytes ReportDataSource ds = new ReportDataSource(DATASOURCE_XSD_NAME, _DataSource); ReportViewer viewer = new ReportViewer(); viewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(RptSubreportProcessingEventHandler); viewer.ProcessingMode = ProcessingMode.Local; //Dictionary<string, DataTable> subSource = new Dictionary<string, DataTable>(); //subSource.Add(DATASOURCE_XSD_NAME, BindDataCurrent()); //subSource.Add("DataSource_vwStockInOutHistory2", BindDataCurrent()); //subSource.Add("DataSource_vwStockInOutHistory3", BindDataHistory()); //subSource.Add("DataSource_vwStockInOutHistory4", BindDataHistory()); //viewer.LocalReport.ReportPath = "RT2008.Web.Reports.Rdlc.StockQtyStatusRdl.rdlc"; viewer.LocalReport.EnableExternalImages = true; viewer.LocalReport.EnableHyperlinks = true; viewer.LocalReport.ReportEmbeddedResource = REPORT_RDLC_NAME; viewer.LocalReport.DataSources.Add(ds); viewer.LocalReport.SetParameters(GetSelParams()); byte[] bytes = viewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings); // Now that you have all the bytes representing the PDF report, buffer it and send it to the client. System.Web.HttpResponse response = objHttpContext.Response; response.Buffer = true; response.Clear(); response.ContentType = mimeType; response.AddHeader("content-disposition", "inline; filename=" + REPORT_FILENAME + "." + extension); response.BinaryWrite(bytes); // create the file response.Flush(); // send it to the client to download return(null); } else { return(this.ProcessGatewayRequest(objHttpContext, strAction)); } }
public static void ExportExcel(System.Web.HttpResponse response, string excelLocation) { byte[] bytes = File.ReadAllBytes(excelLocation); response.Clear(); response.ClearHeaders(); response.ClearContent(); response.ContentType = "application/vnd.ms-excel"; response.AddHeader("Content-Length", bytes.Length.ToString()); response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(Path.GetFileName(excelLocation), System.Text.Encoding.UTF8).Replace("+", "%20")); response.BinaryWrite(bytes); if (response.IsClientConnected) { response.Flush(); } }
internal static void GenerateCsvResponse(HttpResponse response, string formName, string data) { Assert.ArgumentNotNull(response, "response"); Assert.ArgumentNotNullOrEmpty(formName, "formName"); Assert.ArgumentNotNullOrEmpty(data, "data"); response.Clear(); response.ContentType = Constants.Response.ContentType.Csv; response.AddHeader(Constants.Response.Header.ContentDisposition.Name, string.Format(Constants.Response.Header.ContentDisposition.AttachmentFilenameFormat, GenerateFileNameService.GenerateFileName(formName))); response.Charset = Constants.Response.Charset.Utf8; response.BinaryWrite(Encoding.UTF8.GetPreamble()); response.Write(data); response.End(); }
private static void Default() { PdfConverter pdfConverter = new PdfConverter(); pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Normal; pdfConverter.PdfDocumentOptions.ShowHeader = true; pdfConverter.PdfDocumentOptions.ShowFooter = true; pdfConverter.PdfDocumentOptions.LeftMargin = 5; pdfConverter.PdfDocumentOptions.RightMargin = 5; pdfConverter.PdfDocumentOptions.TopMargin = 5; pdfConverter.PdfDocumentOptions.BottomMargin = 5; pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true; pdfConverter.PdfDocumentOptions.ShowHeader = true; //pdfConverter.PdfHeaderOptions.HeaderText = "Sample header: " + "<br><font color='#ff0000'>ASDF</a><br/><B>DDD</B>"; pdfConverter.PdfHeaderOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html"); pdfConverter.PdfHeaderOptions.HeaderTextColor = Color.Blue; //pdfConverter.PdfHeaderOptions.HeaderDescriptionText = string.Empty; pdfConverter.PdfHeaderOptions.DrawHeaderLine = false; //pdfConverter.PdfFooterOptions.FooterText = // "Sample footer: <B>Jimmy</B>. You can change color, font and other options"; pdfConverter.PdfFooterOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html"); pdfConverter.PdfFooterOptions.FooterTextColor = Color.Blue; pdfConverter.PdfFooterOptions.DrawFooterLine = false; pdfConverter.PdfFooterOptions.PageNumberText = "Page"; pdfConverter.PdfFooterOptions.ShowPageNumber = true; //pdfConverter.LicenseKey = "put your serial number here"; byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes("www.vipsoft.com.cn/index.html"); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Type", "binary/octet-stream"); response.AddHeader("Content-Disposition", "attachment; filename=" + "Test.pdf" + "; size=" + downloadBytes.Length.ToString()); response.Flush(); response.BinaryWrite(downloadBytes); response.Flush(); response.End(); }
/// <summary> /// 保存报表文件为文件 /// </summary> /// <param name="rpvObject">Reportview控件实例</param> /// <param name="rptType">打印的文件类型</param> /// <param name="filePath">文件存放路径</param> /// <param name="fileName">文件名</param> public static void Dowload(HttpResponse response, string filePath, string fileName, string extension) { if (response == null || string.IsNullOrEmpty(fileName) || string.IsNullOrEmpty(filePath) || string.IsNullOrEmpty(extension)) return; FileStream stream = new FileStream(filePath + fileName + "." + extension, FileMode.Open); byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); stream.Close(); //Download response.Buffer = true; response.Clear(); response.ContentType = "application/" + extension; response.AddHeader("content-disposition", "attachment; filename=" + fileName + "." + extension); response.BinaryWrite(bytes); response.Flush(); response.End(); }
public void imprimirReciboPDF(int numRecibo, HttpResponse Response) { try { DataSet dsRec = new DataSet("DataSetRec"); DataTable dt = new DataTable("DataTableRec"); FacturasRN ds = new FacturasRN(); dsRec.Tables.Add(dt); ds.getRecibos(ref dt, numRecibo); ReportDataSource rds = new ReportDataSource(); rds.Name = "DataSetRec_DataTableRec"; rds.Value = dsRec.Tables[0]; ReportViewer ReportViewer1 = new ReportViewer(); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(rds); ReportViewer1.LocalReport.ReportPath = "F:/EBuy/EbuyPlaceNet/FacturacionEbuy/Reportes/Recibo/Recibo_rpt.rdlc"; //Dim p As New ReportParameter("TITULO", "DETALLE DEL LOTE " & Request.QueryString("id_lote") & " DE LA OBRA " & Request.QueryString("obra")) //ReportViewer1.LocalReport.SetParameters(New ReportParameter() {p}) ReportViewer1.LocalReport.Refresh(); string reportType = "PDF"; string mimeType = ""; string encoding = ""; string fileNameExtension = ""; string deviceInfo = "" + " PDF" + " 8.5in" + " 11in" + " 0.5in" + " 1in" + " 1in" + " 0.5in" + ""; Warning[] Warnings = null; string[] streams = null; Byte[] renderedBytes; renderedBytes = ReportViewer1.LocalReport.Render(reportType, null, out mimeType, out encoding, out fileNameExtension, out streams, out Warnings); Response.Clear(); Response.ContentType = mimeType; Response.AddHeader("content-disposition", "attachment; filename=Recibo." + fileNameExtension); Response.BinaryWrite(renderedBytes); Response.End(); } catch(Exception ex) { } }
public static void WriteResponse(HttpResponse response, byte[] filearray, string type) { response.ClearContent(); response.Buffer = true; response.Cache.SetCacheability(HttpCacheability.Private); response.ContentType = "application/pdf"; ContentDisposition contentDisposition = new ContentDisposition(); contentDisposition.FileName = "SaldoDotacao.pdf"; contentDisposition.DispositionType = type; response.AddHeader("Content-Disposition", contentDisposition.ToString()); response.BinaryWrite(filearray); HttpContext.Current.ApplicationInstance.CompleteRequest(); try { response.End(); } catch (System.Threading.ThreadAbortException) { } }
public static void OutputToExcel(LocalReport localReport, string fileName, HttpResponse Response) { const string reportType = "Excel"; string mimeType; string encoding; string fileNameExtension; // The DeviceInfo settings should be changed based on the reportType // http://msdn2.microsoft.com/en-us/library/ms155397.aspx const string deviceInfo = "<DeviceInfo>" + " <OutputFormat>Excel</OutputFormat>" + " <OmitDocumentMap>false</OmitDocumentMap>" + " <OmitFormulas>false</OmitFormulas>" + " <RemoveSpace>0.125in</RemoveSpace>" + " <SimplePageHeaders>false</SimplePageHeaders>" + "</DeviceInfo>"; Warning[] warnings; string[] streams; //Render the report byte[] renderedBytes = localReport.Render( reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); // Clear the response stream and write the bytes to the outputstream // Set content-disposition to "attachment" so that user is prompted to take an action // on the file (open or save) Response.Clear(); Response.ContentType = mimeType; Response.AddHeader("content-disposition", "attachment; filename=" + fileName + "." + fileNameExtension); Response.BinaryWrite(renderedBytes); Response.End(); }
//public void DownLoad(HttpRequest request, HttpResponse response, string name, string path, long speed) //{ // try // { // if (string.IsNullOrEmpty(path)) // { // path = System.Web.HttpContext.Current.Server.MapPath(name); // } // //BinaryReader br // #region response // response.Clear(); // response.AddHeader("Accept-Ranges", "bytes"); // response.AddHeader("Content-Length", ""); // response.AddHeader("Content-Range", ""); // response.AddHeader("Connection", "Keep-Alive"); // response.AddHeader("Content-Type", "application/octet-stream"); // response.AddHeader("Content-Disposition", "attachment;filename=" + path); // //response.TransmitFile(); // //response.BinaryWrite(); // response.End(); // #endregion // } // catch { } //} private void DownLoad(HttpResponse response, string name, string path) { try { if (string.IsNullOrEmpty(path)) { path = System.Web.HttpContext.Current.Server.MapPath(name); } //以字符流的形式下载文件 FileStream fs = new FileStream(path, FileMode.Open); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8)); response.BinaryWrite(bytes); response.Flush(); response.End(); } catch { } }
public static void Run() { // ExStart:SendingPdfToBrowser // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdfGenerator_AdvanceFeatures(); // Instantiate Pdf instance by calling its empty constructor Aspose.Pdf.Generator.Pdf pdf1 = new Aspose.Pdf.Generator.Pdf(); MemoryStream stream = new MemoryStream(); HttpResponse Response = new HttpResponse(null); pdf1.Save(stream); Response.Clear(); Response.ClearHeaders(); Response.ClearContent(); Response.Charset = "UTF-8"; Response.AddHeader("Content-Length", stream.Length.ToString()); Response.AddHeader("content-disposition", String.Format("attachment;filename={0}", dataDir + "SendingPdfToBrowser.pdf")); Response.ContentType = "application/pdf"; Response.BinaryWrite(stream.ToArray()); Response.Flush(); Response.End(); // ExEnd:SendingPdfToBrowser }
/// <summary> /// 下载报表文件 /// </summary> /// <param name="s_rptType">打印的文件类型("Excel,PDF,Image")</param> public static void DowloadReportFile(HttpResponse response, ReportViewer rpvObject, ReportPrintType rptType, string fileName) { if (string.IsNullOrEmpty(fileName) || response == null || rpvObject == null) return; Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; byte[] bytes = rpvObject.LocalReport.Render( rptType.ToString(), null, out mimeType, out encoding, out extension, out streamids, out warnings); //Download response.Buffer = true; response.Clear(); response.ContentType = "application/" + extension; response.AddHeader("content-disposition", "attachment; filename=" + fileName + "." + extension); response.BinaryWrite(bytes); response.Flush(); response.End(); }
public void BinaryWrite_Deny_Unrestricted () { HttpResponse response = new HttpResponse (writer); try { response.BinaryWrite (new byte[0]); } catch (HttpException) { // ms } }
/// <summary> /// 产生验证图片信息 /// </summary> /// <param name="checkCode"></param> /// <param name="Response"></param> protected void ResponseImage2(string checkCode, HttpResponse Response) { int iwidth = 80;// (int)(checkCode.Length * 25); using (System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 30)) { System.Random rand = new Random(~unchecked((int)DateTime.Now.Ticks)); using (Graphics g = Graphics.FromImage(image)) { g.Clear(Color.White); //定义颜色 Color[] c = { Color.Black, Color.Red, Color.DarkBlue, Color.Green, Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple, Color.SkyBlue }; //定义字体 string[] font = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体", "Comic Sans MS" }; Color nowColor = c[rand.Next(8)]; //Color.FromArgb(rand.Next()); /* //rand = new Random(~unchecked((int)DateTime.Now.Ticks)); //随机输出噪点 for (int i = 0; i < 50; i++) { int x = rand.Next(image.Width); int y = rand.Next(image.Height); //image.SetPixel(x, y, nowColor); g.DrawPie(new Pen(nowColor, 0), x, y, 2, 2, 1, 1); } */ //rand = new Random(~unchecked((int)DateTime.Now.Ticks)); //输出不同字体和颜色的验证码字符 for (int i = 0; i < checkCode.Length; i++) { int findex = rand.Next(6); Font _font = new System.Drawing.Font(font[findex], 16, System.Drawing.FontStyle.Bold); Brush b = new System.Drawing.SolidBrush(nowColor); g.DrawString(checkCode.Substring(i, 1), _font, b, rand.Next(1, 8) + (i * 14), rand.Next(6)); } /* //rand = new Random(~unchecked((int)DateTime.Now.Ticks)); //画图片的前景噪音点 for (int i = 0; i < 50; i++) { int x = rand.Next(image.Width); int y = rand.Next(image.Height); //image.SetPixel(x, y, Color.FromArgb(rand.Next())); //image.SetPixel(x, y, nowColor); g.DrawPie(new Pen(nowColor, 0), x, y, 2, 2, 1, 1); } */ //画一个边框 //g.DrawRectangle(new Pen(nowColor, 0), 0, 0, image.Width - 1, image.Height - 1); } rand = new Random(~unchecked((int)DateTime.Now.Ticks)); //using (var ximage = TwistImage(image, true, rand.Next(3, 8), rand.Next(1, 4))) //{ System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); Response.ClearContent(); Response.ContentType = "image/png"; Response.BinaryWrite(ms.ToArray()); //} } }
private static void WriteFileToResponse(FileStream fs, HttpResponse response) { var buffer = new byte[1024]; // 1 KB buffer // keep track of how much of the file we have read // and stop when we have read the entire file long numBytesRead = 0; while (numBytesRead < fs.Length) { int numBytesReadIntoBuffer = fs.Read(buffer, 0, buffer.Length); if (numBytesReadIntoBuffer == buffer.Length) { // if we filled the buffer, then write the entire buffer // to the response response.BinaryWrite(buffer); } else { // if we only filled part of the buffer, then get // the part we filled and write just that portion // to the response byte[] bytesToWrite = buffer.Take(numBytesReadIntoBuffer).ToArray(); response.BinaryWrite(bytesToWrite); } numBytesRead += numBytesReadIntoBuffer; } }
private void WriteBytes(byte[] bytes, HttpResponse response, string contentType) { if (bytes == null || bytes.Length == 0) return; ContentType = contentType; ServerUtil.AddCache(60 * 24 * 90); response.BinaryWrite(bytes); }
void Download(HttpResponse resp, GUIDEx fileID) { lock (this) { if (resp != null) { string fullFileName = null, contentType = null; byte[] data = this.workDownloadService.Download(fileID, out fullFileName, out contentType); if (data != null && data.Length > 0) { resp.Buffer = true; resp.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fullFileName, System.Text.Encoding.UTF8)); resp.ContentEncoding = Encoding.GetEncoding("gb2312");//设置输出流为简体中文 resp.ContentType = contentType;//"application/OCTET-STREAM"; // resp.BufferOutput = true; resp.BinaryWrite(data); resp.Flush(); resp.End(); } else { resp.Write("文件不存在!" + fileID); } } } }
public override void Process(HttpRequest request, HttpResponse response, HttpApplication application) { object processor = null; if (routeMap.TryGetValue(request.Path, out processor)) { if (processor is string) { processor = new LoadedScript(processor.ToString()); routeMap[request.Path] = processor; } if (processor is NiL.JS.Core.BaseTypes.Function) { (processor as NiL.JS.Core.BaseTypes.Function).Invoke(new NiL.JS.Core.BaseTypes.Array(new object[] { request, response, application })); return; } else if (processor is LoadedScript) { var sc = (processor as LoadedScript).Script; sc.Context.InitField("application").Assign(TypeProxy.Proxy(application)); sc.Context.InitField("request").Assign(TypeProxy.Proxy(request)); sc.Context.InitField("response").Assign(TypeProxy.Proxy(response)); sc.Invoke(); return; } } if (defaultScript == null) { try { defaultScript = new LoadedScript(defaultPath); } catch { response.BinaryWrite(System.Text.Encoding.Default.GetBytes(new Http.ErrorPage(Http.ResponseCode.SERVICE_UNAVAILABLE, "Service unavailable.").ToString())); response.StatusCode = (int)Http.ResponseCode.SERVICE_UNAVAILABLE; } } lock (defaultScript) { var script = defaultScript.Script; script.Context.InitField("application").Assign(TypeProxy.Proxy(application)); script.Context.InitField("request").Assign(TypeProxy.Proxy(request)); script.Context.InitField("response").Assign(TypeProxy.Proxy(response)); script.Invoke(); } }
public void ResponseOpenFileBytes(byte[] File, string ContentType, string SaveAsFileName, HttpResponse response) { if (string.IsNullOrEmpty(ContentType)) { ContentType = "application/octet-stream"; } response.Clear(); response.AddHeader("content-disposition", "attachment;filename=" + SaveAsFileName); response.ContentType = ContentType; response.BinaryWrite(File); //response.End(); }
public static void OutputToPDF(LocalReport localReport, string fileName, bool landscape, bool legal, HttpResponse Response) { const string reportType = "PDF"; string mimeType; string encoding; string fileNameExtension; // The DeviceInfo settings should be changed based on the reportType // http://msdn2.microsoft.com/en-us/library/ms155397.aspx string deviceInfo = "<DeviceInfo>" + " <OutputFormat>PDF</OutputFormat>" + " <PageWidth>" + (landscape ? (legal ? "14" : "11") : "8.5") + "in</PageWidth>" + " <PageHeight>" + (landscape ? "8.5" : (legal ? "14" : "11")) + "in</PageHeight>" + " <MarginTop>0.5in</MarginTop>" + " <MarginLeft>0.25in</MarginLeft>" + " <MarginRight>0.25in</MarginRight>" + " <MarginBottom>0.3in</MarginBottom>" + "</DeviceInfo>"; /* other attributes for the DeviceInfo are StartPage - The first page of the report to render. A value of 0 indicates that all pages are rendered. The default value is 1. Columns - The number of columns to set for the report. This value overrides the report's original settings. ColumnSpacing - The column spacing to set for the report. This value overrides the report's original settings. EndPage - The last page of the report to render. The default value is the value for StartPage. */ Warning[] warnings; string[] streams; //Render the report byte[] renderedBytes = localReport.Render( reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); // Clear the response stream and write the bytes to the outputstream // Set content-disposition to "attachment" so that user is prompted to take an action // on the file (open or save) Response.Clear(); Response.ContentType = mimeType; Response.AddHeader("content-disposition", "attachment; filename=" + fileName + "." + fileNameExtension); Response.BinaryWrite(renderedBytes); Response.End(); }
protected void StreamChunk(byte[] bytes, HttpResponse response) { if (bytes != null && bytes.Length > 0) { byte[] chunkLength = System.Text.Encoding.ASCII.GetBytes(System.Convert.ToString(bytes.Length, 0x10)); response.BinaryWrite(chunkLength); response.BinaryWrite(CRLF_BYTES); response.BinaryWrite(bytes); response.Flush(); } else { //response.OutputStream.WriteByte(48); //response.BinaryWrite(CRLF_BYTES); response.Flush(); } }
public override void Process(HttpRequest request, HttpResponse response, HttpApplication application) { var encoding = Encoding.UTF8; int visitCount = 0; var t = request.Cookies["visitcount"]; if (t != null) int.TryParse(t.Value, out visitCount); visitCount++; var page = new HtmlPage() { new HtmlElement("div", "content") { new HtmlElement("div", "toptext") { new Text("if you see it, then") }, new HtmlElement("div", "title") { new Text("NiL.WBE") }, new HtmlElement("div", "bottomtext") { new Text("working") }, new Text("you was here " + visitCount + " times") } }; page.Head.Add(new HtmlElement("style") { new Text( @" html { height: 100%; } * { text-align: center; font-family: Lobster; } body { height: 100%; } #content { position: relative; top: 25%; } #title { font-size: 80px } @font-face { font-family: 'Lobster'; font-style: normal; font-weight: 400; src: local('Lobster'), url(http://themes.googleusercontent.com/static/fonts/lobster/v5/9eID_a1kLfzp_BP9s4L15g.woff) format('woff'); } ", false) }); try { page.Head.Add(new HtmlElement("title") { new Text("NiL.WBE") }); response.ContentType = page.ContentType; response.ContentEncoding = System.Text.Encoding.UTF8; response.Cookies.Add(new HttpCookie("visitcount", visitCount.ToString())); response.Status = "200 OK"; response.BinaryWrite(encoding.GetBytes(page.ToString())); application.CompleteRequest(); } catch(Exception e) { string text = e.ToString(); } }
public static void GetStreamFromFile(string filename, HttpResponse response) { if (!File.Exists(filename)) { string userdatapath = Functions.GetAppConfigString("UserDataPath", ""); filename = userdatapath + "\\default.png"; } System.IO.FileStream fs = null; System.IO.MemoryStream ms = null; try { fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Close(); ms = new System.IO.MemoryStream(buffer); //response.ClearContent(); response.Clear(); response.ClearHeaders(); response.Buffer = false; string fname = Path.GetFileName(filename); response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fname, System.Text.Encoding.ASCII)); response.AppendHeader("Content-Length", ms.Length.ToString()); response.BinaryWrite(ms.ToArray()); ms.Close(); } finally { fs.Dispose(); ms.Dispose(); } }