当前位置: 首页 > news >正文

如何制作自己的网站教程江苏省建设厅八大员考试报名网站

如何制作自己的网站教程,江苏省建设厅八大员考试报名网站,做甜点的网站,如何做阿里巴巴网站目录 应用场景 实现代码 扩展功能(生成压缩包) 小结 应用场景 我们在一个求职简历打印的项目功能里#xff0c;需要根据一定的查询条件#xff0c;得到结果并批量导出指定格式的文件。导出的格式可能有多种#xff0c;比如WORD格式、EXCEL格式、PDF格式等#xff0c;…目录 应用场景 实现代码 扩展功能(生成压缩包) 小结  应用场景 我们在一个求职简历打印的项目功能里需要根据一定的查询条件得到结果并批量导出指定格式的文件。导出的格式可能有多种比如WORD格式、EXCEL格式、PDF格式等实现方式是通过设置对应的模板进行输出实际情况是简历的内容是灵活设置的没有固定的格式模板数量是不固定的。 通过动态页面技术可以实现简历配置后的网页内容输出但制作对应的各种模板会遇到开发效率和服务跟进的问题。为了保障原样输出折中而简单的方案就是将动态输出的页面转化为图片格式。 实现代码 创建一个 UrlToImage 类创建实例的时候传递指定的 URL, 并调用 SaveToImageFilestring outputFilename方法该方法传递要输出的文件名参数即可即可。 调用示例代码如下 string url https:// Request.Url.Host /printResume.aspx; UrlToImage uti new UrlToImage(url); bool irv uti.SaveToImageFile(Request.PhysicalApplicationPath \\test.jpg); if(boolfalse){Response.Write(save failed.);Response.End(); } 类及实现代码如下 public class UrlToImage{private Bitmap m_Bitmap;private string m_Url;private string m_FileName string.Empty;int initheight 0;public UrlToImage(string url){// Without filem_Url url;}public UrlToImage(string url, string fileName){// With filem_Url url;m_FileName fileName;}public Bitmap Generate(){// Threadvar m_thread new Thread(_Generate);m_thread.SetApartmentState(ApartmentState.STA);m_thread.Start();m_thread.Join();return m_Bitmap;}public bool SaveToImageFile(string filename){Bitmap btGenerate();if (bt null){return false;}bt.Save(filename);return File.Exists(filename);}private void _Generate(){var browser new WebBrowser { ScrollBarsEnabled false };browser.ScriptErrorsSuppressed true;initheight 0;browser.Navigate(m_Url);browser.DocumentCompleted WebBrowser_DocumentCompleted;while (browser.ReadyState ! WebBrowserReadyState.Complete){Application.DoEvents();}browser.Dispose();}private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){// Capturevar browser (WebBrowser)sender;browser.ClientSize new Size(browser.Document.Body.ScrollRectangle.Width, browser.Document.Body.ScrollRectangle.Bottom);browser.ScrollBarsEnabled false;m_Bitmap new Bitmap(browser.Document.Body.ScrollRectangle.Width, browser.Document.Body.ScrollRectangle.Bottom);browser.BringToFront();browser.DrawToBitmap(m_Bitmap, browser.Bounds);// Save as file?if (m_FileName.Length 0){// Savem_Bitmap.SaveJPG100(m_FileName);}if (initheight browser.Document.Body.ScrollRectangle.Bottom){browser.DocumentCompleted - new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);}initheight browser.Document.Body.ScrollRectangle.Bottom;}} 生成压缩包 对于批量生成的图片文件我们可以生成压缩包为客户提供下载功能压缩功能引用的是ICSharpCode.SharpZipLib.dll创建 ZipCompress 类的实例ZipDirectory(zippath, zipfile, password) 方法需要提供的参数包括压缩的目录、生成的压缩文件名压缩包的打开密码。 示例代码如下 string zippath Request.PhysicalApplicationPath \\des\\ ;if (!Directory.Exists(zippath)){Directory.CreateDirectory(zippath);}string zipfile Request.PhysicalApplicationPath \\des\\test.zip;ZipCompress allgzip new ZipCompress();System.IO.DirectoryInfo alldi new System.IO.DirectoryInfo(zippath);string password 123456;allgzip.ZipDirectory(zippath, zipfile, password);//以下是生成完压缩包后清除目录及文件string[] allfs Directory.GetFiles(zippath);for (int i 0; i allfs.Length; i){File.Delete(allfs[i]);}Directory.Delete(zippath); 类及实现代码如下 public class ZipCompress{public byte[] Compress(byte[] inputBytes){using (MemoryStream outStream new MemoryStream()){using (GZipStream zipStream new GZipStream(outStream, CompressionMode.Compress, true)){zipStream.Write(inputBytes, 0, inputBytes.Length);zipStream.Close(); //很重要必须关闭否则无法正确解压return outStream.ToArray();}}}public byte[] Decompress(byte[] inputBytes){using (MemoryStream inputStream new MemoryStream(inputBytes)){using (MemoryStream outStream new MemoryStream()){using (GZipStream zipStream new GZipStream(inputStream, CompressionMode.Decompress)){zipStream.CopyTo(outStream);zipStream.Close();return outStream.ToArray();}}}}public string Compress(string input){byte[] inputBytes Encoding.Default.GetBytes(input);byte[] result Compress(inputBytes);return Convert.ToBase64String(result);}public string Decompress(string input){byte[] inputBytes Convert.FromBase64String(input);byte[] depressBytes Decompress(inputBytes);return Encoding.Default.GetString(depressBytes);}public void Compress(DirectoryInfo dir){foreach (FileInfo fileToCompress in dir.GetFiles()){Compress(fileToCompress);}}public void Decompress(DirectoryInfo dir){foreach (FileInfo fileToCompress in dir.GetFiles()){Decompress(fileToCompress);}}public void Compress(FileInfo fileToCompress){using (FileStream originalFileStream fileToCompress.OpenRead()){if ((File.GetAttributes(fileToCompress.FullName) FileAttributes.Hidden) ! FileAttributes.Hidden fileToCompress.Extension ! .gz){using (FileStream compressedFileStream File.Create(fileToCompress.FullName .gz)){using (GZipStream compressionStream new GZipStream(compressedFileStream, CompressionMode.Compress)){originalFileStream.CopyTo(compressionStream);}}}}}public void Decompress(FileInfo fileToDecompress,string desfilename){using (FileStream originalFileStream fileToDecompress.OpenRead()){string currentFileName fileToDecompress.FullName;string newFileName currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);if (desfilename ! ){newFileName desfilename;}using (FileStream decompressedFileStream File.Create(newFileName)){using (GZipStream decompressionStream new GZipStream(originalFileStream, CompressionMode.Decompress)){decompressionStream.CopyTo(decompressedFileStream);}}}}public void ZipDirectory(string folderToZip, string zipedFileName,string password){ZipDirectory(folderToZip, zipedFileName,(password?string.Empty:password), true, string.Empty, string.Empty, true);}public void ZipDirectory(string folderToZip, string zipedFileName, string password, bool isRecurse, string fileRegexFilter, string directoryRegexFilter, bool isCreateEmptyDirectories){FastZip fastZip new FastZip();fastZip.CreateEmptyDirectories isCreateEmptyDirectories;fastZip.Password password;fastZip.CreateZip(zipedFileName, folderToZip, isRecurse, fileRegexFilter, directoryRegexFilter);}public void UnZipDirectory(string zipedFileName, string targetDirectory, string password,string fileFilternull){FastZip fastZip new FastZip();fastZip.Password password;fastZip.ExtractZip(zipedFileName, targetDirectory,fileFilter);}public void UnZip(string zipFilePath, string unZipDir){if (zipFilePath string.Empty){throw new Exception(压缩文件不能为空);}if (!File.Exists(zipFilePath)){throw new FileNotFoundException(压缩文件不存在);}//解压文件夹为空时默认与压缩文件同一级目录下跟压缩文件同名的文件夹 if (unZipDir string.Empty)unZipDir zipFilePath.Replace(Path.GetFileName(zipFilePath), Path.GetFileNameWithoutExtension(zipFilePath));if (!unZipDir.EndsWith(/))unZipDir /;if (!Directory.Exists(unZipDir))Directory.CreateDirectory(unZipDir);using (var s new ZipInputStream(File.OpenRead(zipFilePath))){ZipEntry theEntry;while ((theEntry s.GetNextEntry()) ! null){string directoryName Path.GetDirectoryName(theEntry.Name);string fileName Path.GetFileName(theEntry.Name);if (!string.IsNullOrEmpty(directoryName)){Directory.CreateDirectory(unZipDir directoryName);}if (directoryName ! null !directoryName.EndsWith(/)){}if (fileName ! String.Empty){using (FileStream streamWriter File.Create(unZipDir theEntry.Name)){int size;byte[] data new byte[2048];while (true){size s.Read(data, 0, data.Length);if (size 0){streamWriter.Write(data, 0, size);}else{break;}}}}}}}} 小结  对于生成的图片文件我们还可以结合其它的API应用来判断图片是否有被PS的情况来提升和扩展应用程序的功能。另外对于被访问的动态页面建议使用访问控制只有正常登录或提供访问令牌的用户才可以生成结果图片以保证数据的安全性。 以上代码仅供参考欢迎大家指正再次感谢您的阅读
http://www.zqtcl.cn/news/564386/

相关文章:

  • 医疗网站模版杭州工商注册
  • 正保建设工程网站logo创意
  • 简洁个人博客网站模板下载用自己电脑做网站服务器-phpstudy+花生壳
  • 网页模板下载哪个网站好多个域名指定同一个网站好处
  • 北京网站建设有哪些公司微网站的案例
  • 常德经开区网站官网域名备案关闭网站吗
  • 做宠物网站的工作室做网站租服务器
  • 2017做那个网站致富网站换源码如何保留以前的文章
  • php网站开发实例教程书wordpress博客页面显示文章在哪
  • 地方o2o同城网站源码微信app开发价格表
  • 花木公司网站源码双语外贸网站源码
  • 什么公司做网站会提供源代码创业做招商加盟类网站赚钱
  • 东莞网站建设排名基因数据库网站开发价格
  • 天河区营销型网站建设科技自立自强
  • 网站域名账号江苏百度推广代理商
  • 专题网站建站对网站分析
  • 外贸出口网站建设如何搭建自己的网站服务器
  • 云南省建设厅网站职称评审房地产推广方案和推广思路
  • 湘潭建设路街道网站app的设计与开发
  • 《网站开发实践》 实训报告广告策划书案例完整版
  • 一级 爰做片免费网站做中学学中做网站
  • 网站排名如何提升网络营销的有哪些特点
  • 巨腾外贸网站建设个人主页网站模板免费
  • 有哪些网站免费做推广淄博网站电子商城平台建设
  • 网站建设的技术支持论文做网站买什么品牌笔记本好
  • 凡科网站后台在哪里.工程与建设
  • 静态网站源文件下载建设手机网站价格
  • 苏州做网站优化的网站开发邮件
  • 做网站怎么搭建环境阿里云大学 网站建设
  • 网站改版业务嵌入式培训推荐