ASP.NET中文件目录的读取及显示方法
Asp.netCore与类库读取配置文件信息的方法
Core与类库读取配置⽂件信息的⽅法前⾔⾸先开⼀个脑洞, core 被使⽤这么长时间了,但是关于配置⽂件(json)的读取,微软官⽅似乎并没有给出像.net framework读取web.config那样简单且完美。
严重怀疑这是微软为了促进.net core ⽣态繁荣搞的⼀点⼩⼿段。
appsetting.Development.json (appsetting.json的内容和这个差不多,下⾯会讲到多环境使⽤){"SettingPath": {"VideoFilePath": "C:\\Users\\89275\\Desktop\\Projects\\mv","FfmpegPath": "C:/Users/89275/Desktop/Projects/mv/ffmpeg.exe","FtpPath": "http://192.168.254.1/videofile","VirtualPath": "/videoplay"},"RedisPath":"192.168.0.108:6379"}看了很多 core 读取配置⽂件的博客,感觉都没有很好的解决问题。
最简单的就是在StartUp中通过Configuration["SettingPath:VirtualPath"]的形式获取信息;接下来就是在Controller中获去配置⽂件信息,在控制器中读取配置⽂件有两种⽅法。
第⼀种是在controller初始化的时候把IHostingEnvironment,IConfiguration传过来,然后把穿过来的值赋给controller中对应的变量,酒后就可以正常读取配置⽂件了(由于我是个菜逼,还没看明⽩系统启动的时候,这两个变量是怎么传给controller 的)public class HomeController : Controller{//环境变量private readonly IHostingEnvironment hostingEnvironment;private IConfiguration Configuration;public HomeController(IHostingEnvironment hostingEnvironment, IConfiguration configuration){this.hostingEnvironment = hostingEnvironment;Configuration = configuration;}pubilc void GetRedisPath(){string redisPath = Configuration["RedisPath"];}}第⼆种是通过获取对象的⽅式读取配置⽂件,最近很多博客说的都是关于这个的。
asp.net(c#)文件的路径表示方法
(c#)⽂件的路径表⽰⽅法在表⽰路径时有两⼤体系:1、在windows下表⽰⽂件的位置,⽤反斜杠“\”例如D:\EntLib4Src\Blocks\Data\Src\Configuration.Design\ ConnectionStringEditor.cs2、在.Net中web开发时表⽰⽂件路径:常⽤的符号含义及举例如下:注:⽹站所在的解决⽅案的物理路径是:E:\demo\路径相关\demo⽹站⽂件所在的⽂件夹的物理路径是:E:\demo\路径相关\demo\WebSite~/在runat=server的控件中,⾃动的被解析为Request.ApplicationPath的值,是当前应⽤程序级程序的⽬录在例⼦中是:/WebSite ./或者什么都不写:表⽰当前⽬录,./teacup.jpg和teacup.jpg都表⽰当前⽹页所在⽬录下的teacup.jpg⽂件/表⽰根⽬录,⼀般表⽰为:系统盘下的Inetpub\wwwroot应⽤举例:/*********************************************************************************** IIS homedirctory在c:\inetpub\wwwroot **** 虚拟⽬录在E:\WebApplication10. **** ⽬前的程序在E:\WebApplication10\tmp⽂件夹下的⼀个页⾯. ***********************************************************************************/string str = Server.MapPath("~/languages.xml");//str=E:\WebApplication10\languages.xmlstring str1 = Server.MapPath("./languages.xml");//str1=E:\WebApplication10\tmp\languages.xmlstring str2 = Server.MapPath("../languages.xml");//str2=E:\WebApplication10\languages.xmlstring str3 = Server.MapPath("mm/languages.xml");//str3=E:\WebApplication10\tmp\mm\languages.xmlstring str4 = Server.MapPath("/mm/languages.xml");//str4=c:\inetpub\wwwroot\mm\languages.xml。
asp.net读取excel文件的三种方法示例
读取excel⽂件的三种⽅法⽰例把Excel⽂件当做⼀个数据源来进⾏数据的读取操作,实例如下:复制代码代码如下:public DataSet ExcelToDS(string Path){string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;"; OleDbConnection conn = new OleDbConnection(strConn);conn.Open();string strExcel = "";OleDbDataAdapter myCommand = null;DataSet ds = null;strExcel="select * from [sheet1$]";myCommand = new OleDbDataAdapter(strExcel, strConn);ds = new DataSet();myCommand.Fill(ds,"table1");return ds;}对于Excel中的表即sheet([sheet1$])如果不是固定的可以使⽤下⾯的⽅法得到复制代码代码如下:string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;"; OleDbConnection conn = new OleDbConnection(strConn);DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null); string tableName=schemaTable.Rows[0][2].ToString().Trim();另外:也可进⾏写⼊Excel⽂件,实例如下:复制代码代码如下:public void DSToExcel(string Path,DataSet oldds){//先得到汇总Excel的DataSet 主要⽬的是获得Excel在DataSet中的结构string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+path1+";Extended Properties=Excel 8.0" ; OleDbConnection myConn = new OleDbConnection(strCon) ;string strCom="select * from [Sheet1$]";myConn.Open ( ) ;OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom, myConn ) ;system.Data.OleDb.OleDbCommandBuilder builder=new OleDbCommandBuilder(myCommand);//QuotePrefix和QuoteSuffix主要是对builder⽣成InsertComment命令时使⽤。
ASP.NET中用TreeView实现对服务器目录的浏览和设置
张丽等:A sP.N E T中用,I I r e eV i ew实现对服务器目录的浏览和设置光盘数据库与信息系统A SP.N ET中用Tr eeV i ew实现对服务器目录的浏览和设置张丽。
马丽(河南工业大学,河南郑州450001)摘要:在w eb模式下通常需要通过浏览器浏览和设置服务器目录。
本文介绍了一种从w eb页面浏览和设置服务器目录的方案,该方案在A SP.N ET环境下采用1keV i ew w eb控件和C}}语言实现。
关键词:A SP.N E T;浏览器;服务器目录;T ree V i e w;C#中图分类号:TP303.092文献标识码:AV se i ng T r eeV i ew A cc om pH sh Sen,er C at al og B r ow s e and i I坞t e¨a t A SP.N E TZ H A N G Li.M A L i(H e nan U ni ve rs i t y of T echn ol ogy,H enan Z heng zhou450001)K e y w oI I ds:A S P N E T;b r ow er;ser ve r cat al og;7IheV i ew;C并1引言3A SP.N ET中访问目录的类和方法在浏览器端浏览服务器目录没有专门的控件,用户可以选择多种方式实现。
为了增强浏览效果,本文采用与在本地计算机中浏览PC文件系统中文件夹相似的方式来实现,即树形结构,使得浏览服务器文件夹如同浏览本地文件夹一样方便。
由于A SP.N ET是当前比较流行的W eb开发环境,在A SP.N ET中可以使用TreeV iew w eb控件实现树形结构。
本文介绍了如何在A s P.N E T中使用TreeV iew w eb控件和c{}语言实现对服务器文件夹的浏览和设置。
21’ree V i e w W eb控件1heV i ew w eb控件是2002年M i cr osof l发布的四种A sP.N ET w eb控件之一,它可以用来显示可单击、可展开的树中的数据,为w eb访问者提供熟悉的用户界面,增强了A s P.N ET W eb页面。
AspNet 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小
AspNet 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小.txt心脏是一座有两间卧室的房子,一间住着痛苦,一间住着快乐。
人不能笑得太响,否则会吵醒隔壁的痛苦。
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Text;using System.IO;namespace EC{/// <summary>/// FileObj 的摘要说明/// </summary>public class FileObj{#region 构造函数private bool _alreadyDispose = false;public FileObj(){//// TODO: 在此处添加构造函数逻辑//}~FileObj(){Dispose(); ;}protected virtual void Dispose(bool isDisposing){if (_alreadyDispose) return;//if (isDisposing)//{// if (xml != null)// {// xml = null;// }//}_alreadyDispose = true;}#endregion#region IDisposable 成员public void Dispose(){Dispose(true);GC.SuppressFinalize(this);}#endregion#region 取得文件后缀名/***************************************** 函数名称:GetPostfixStr* 功能说明:取得文件后缀名* 参数:filename:文件名称* 调用示列:* string filename = "aaa.aspx";* string s = EC.FileObj.GetPostfixStr(filename); *****************************************//// <summary>/// 取后缀名/// </summary>/// <param name="filename">文件名</param>/// <returns>.gif|.html格式</returns>public static string GetPostfixStr(string filename){int start = stIndexOf(".");int length = filename.Length;string postfix = filename.Substring(start, length - start);return postfix;}#endregion#region 写文件/***************************************** 函数名称:WriteFile* 功能说明:当文件不存时,则创建文件,并追加文件* 参数:Path:文件路径,Strings:文本内容* 调用示列:* string Path = Server.MapPath("Default2.aspx");* string Strings = "这是我写的内容啊";* EC.FileObj.WriteFile(Path,Strings);*****************************************//// <summary>/// 写文件/// </summary>/// <param name="Path">文件路径</param>/// <param name="Strings">文件内容</param>public static void WriteFile(string Path, string Strings){if (!System.IO.File.Exists(Path)){//Directory.CreateDirectory(Path);System.IO.FileStream f = System.IO.File.Create(Path);f.Close();f.Dispose();}System.IO.StreamWriter f2 = new System.IO.StreamWriter(Path, true, System.Text.Encoding.UTF8);f2.WriteLine(Strings);f2.Close();f2.Dispose();}#endregion#region 读文件/***************************************** 函数名称:ReadFile* 功能说明:读取文本内容* 参数:Path:文件路径* 调用示列:* string Path = Server.MapPath("Default2.aspx");* string s = EC.FileObj.ReadFile(Path);*****************************************//// <summary>/// 读文件/// </summary>/// <param name="Path">文件路径</param>/// <returns></returns>public static string ReadFile(string Path){string s = "";if (!System.IO.File.Exists(Path))s = "不存在相应的目录";else{StreamReader f2 = new StreamReader(Path, System.Text.Encoding.GetEncoding("gb2312"));s = f2.ReadToEnd();f2.Close();f2.Dispose();}return s;}#endregion#region 追加文件/***************************************** 函数名称:FileAdd* 功能说明:追加文件内容* 参数:Path:文件路径,strings:内容* 调用示列:* string Path = Server.MapPath("Default2.aspx");* string Strings = "新追加内容";* EC.FileObj.FileAdd(Path, Strings);*****************************************//// <summary>/// 追加文件/// </summary>/// <param name="Path">文件路径</param>/// <param name="strings">内容</param>public static void FileAdd(string Path, string strings){StreamWriter sw = File.AppendText(Path);sw.Write(strings);sw.Flush();sw.Close();sw.Dispose();}#endregion#region 拷贝文件/***************************************** 函数名称:FileCoppy* 功能说明:拷贝文件* 参数:OrignFile:原始文件,NewFile:新文件路径* 调用示列:* string OrignFile = Server.MapPath("Default2.aspx"); * string NewFile = Server.MapPath("Default3.aspx");* EC.FileObj.FileCoppy(OrignFile, NewFile);*****************************************//// <summary>/// 拷贝文件/// </summary>/// <param name="OrignFile">原始文件</param>/// <param name="NewFile">新文件路径</param>public static void FileCoppy(string OrignFile, string NewFile){File.Copy(OrignFile, NewFile, true);}#endregion#region 删除文件/***************************************** 函数名称:FileDel* 功能说明:删除文件* 参数:Path:文件路径* 调用示列:* string Path = Server.MapPath("Default3.aspx");* EC.FileObj.FileDel(Path);*****************************************//// <summary>/// 删除文件/// </summary>/// <param name="Path">路径</param>public static void FileDel(string Path){File.Delete(Path);}#endregion#region 移动文件/***************************************** 函数名称:FileMove* 功能说明:移动文件* 参数:OrignFile:原始路径,NewFile:新文件路径* 调用示列:* string OrignFile = Server.MapPath("../说明.txt"); * string NewFile = Server.MapPath("../../说明.txt");* EC.FileObj.FileMove(OrignFile, NewFile);*****************************************//// <summary>/// 移动文件/// </summary>/// <param name="OrignFile">原始路径</param>/// <param name="NewFile">新路径</param>public static void FileMove(string OrignFile, string NewFile){File.Move(OrignFile, NewFile);}#endregion#region 在当前目录下创建目录/***************************************** 函数名称:FolderCreate* 功能说明:在当前目录下创建目录* 参数:OrignFolder:当前目录,NewFloder:新目录* 调用示列:* string OrignFolder = Server.MapPath("test/");* string NewFloder = "new";* EC.FileObj.FolderCreate(OrignFolder, NewFloder);*****************************************//// <summary>/// 在当前目录下创建目录/// </summary>/// <param name="OrignFolder">当前目录</param>/// <param name="NewFloder">新目录</param>public static void FolderCreate(string OrignFolder, string NewFloder) {Directory.SetCurrentDirectory(OrignFolder);Directory.CreateDirectory(NewFloder);}/// <summary>/// 创建文件夹/// </summary>/// <param name="Path"></param>public static void FolderCreate(string Path){// 判断目标目录是否存在如果不存在则新建之if (!Directory.Exists(Path))Directory.CreateDirectory(Path);}#endregion#region 创建目录public static void FileCreate(string Path){FileInfo CreateFile = new FileInfo(Path); //创建文件if (!CreateFile.Exists){FileStream FS = CreateFile.Create();FS.Close();}}#endregion#region 递归删除文件夹目录及文件/***************************************** 函数名称:DeleteFolder* 功能说明:递归删除文件夹目录及文件* 参数:dir:文件夹路径* 调用示列:* string dir = Server.MapPath("test/");* EC.FileObj.DeleteFolder(dir);*****************************************//// <summary>/// 递归删除文件夹目录及文件/// </summary>/// <param name="dir"></param>/// <returns></returns>public static void DeleteFolder(string dir){if (Directory.Exists(dir)) //如果存在这个文件夹删除之{foreach (string d in Directory.GetFileSystemEntries(dir)) {if (File.Exists(d))File.Delete(d); //直接删除其中的文件elseDeleteFolder(d); //递归删除子文件夹}Directory.Delete(dir, true); //删除已空文件夹}}#endregion#region 将指定文件夹下面的所有内容copy到目标文件夹下面果目标文件夹为只读属性就会报错。
Asp.net获取服务器指定文件夹目录文件并提供下载的方法
本文实例讲述了获取服务器指定文件夹目录文件并提供下载的方法。
分享给大家供大家参考。
具体实现方法如下:复制代码代码如下:string dirPath = HttpContext.Current.Server.MapPath("uploads/");if (Directory.Exists(dirPath)){//获得目录信息DirectoryInfo dir = new DirectoryInfo(dirPath);//获得目录文件列表FileInfo[] files = dir.GetFiles("*.*");string[] fileNames = new string[files.Length];//临时数据表DataTable dt = new DataTable();dt.Columns.Add("FileName");foreach (FileInfo fileInfo in files){DataRow dr = dt.NewRow();dr["FileName"] = ;dt.Rows.Add(dr);}Repeater1.DataSource = dt;Repeater1.DataBind();}if (mandName == "down"){try{string DownloadFileName = "~/uploads/" + mandArgument.ToString();//文件路径string filepath = Server.MapPath(DownloadFileName);string filename = Path.GetFileName(filepath);FileInfo file = new FileInfo(filepath);Response.Clear();Response.ContentType = "application/octet-stream";Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));Response.AddHeader("Content-length", file.Length.ToString());Response.Flush();Response.WriteFile(filepath);}catch{Response.Write("<script>alert('没有找到下载的源文件')</script>");}}希望本文所述对大家的程序设计有所帮助。
ASPNET获取路径和URL
获取路径和URL∙URL:http://localhost/aspnet/zz/zz.aspx/info?name=wk∙获取物理路径:∙C# .NET 获取路径:详情∙通过MapPath映射方法获取:Request.MapPath()与Server.MapPath()∙通过Request属性获取:∙// 获取当前正在执行的服务器应用程序的根目录的物理文件系统路径。
∙Request.PhysicalApplicationPath; // E:\解决方案\项目\∙∙// 获取与请求的 URL 相对应的物理文件系统路径。
∙Request.PhysicalPath; // E:\\解决方案\项目\zz\zz.aspx ∙获取虚拟路径和URL信息:∙// 获取服务器上 应用程序的虚拟应用程序根路径:/∙Request.ApplicationPath; // /aspnet∙∙// 获取应用程序根的虚拟路径,并通过对应用程序根使用波形符(~) 表示法使该路径成为相对路径。
∙Request.AppRelativeCurrentExecutionFilePath; // ~/zz/zz.aspx∙∙// 获取当前请求的虚拟路径∙Request.CurrentExecutionFilePath; // /aspnet/zz/zz.aspx∙Request.FilePath; // /aspnet/zz/zz.aspx∙∙// 获取CurrentExecutionFilePath属性中指定的文件名的扩展名。
∙Request.CurrentExecutionFilePathExtension; // .aspx∙∙// 获取当前请求的虚拟路径(包括附件路径信息)∙Request.Path; // /aspnet/zz/zz.aspx/info∙∙// 获取具有 URL 扩展名的资源的附加路径信息。
∙Request.PathInfo; // /info∙∙// 获取有关当前请求的 URL 的信息。
aspnet 读取配置文件方法汇总
读取配置文件方法 读取配置文件方法,需要的朋友可以参考下。
方法1:复制代码代码如下:ValueCollection nvc = (ValueCollectio n)System.Configuration.ConfigurationManager.GetSection(sectionName);string keyValue = nvc.GetValues(keyName)[0].ToString();方法2:复制代码代码如下:System.Web.Configuration.WebConfigurationManager.AppSettings[keyName].ToString();参考下面的文章在C#中如何读取配置文件1. 配置文件概述:应用程序配置文件是标准的XML 文件,XML 标记和属性是区分大小写的。
它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。
配置文件的根节点是configuration。
我们经常访问的是appSettings,它是由.Net预定义配置节。
我们经常使用的配置文件的架构是象下面的形式。
先大概有个印象,通过后面的实例会有一个比较清楚的认识。
下面的“配置节”可以理解为进行配置一个X ML的节点。
常见配置文件模式:复制代码代码如下:<configuration><configSections> //配置节声明区域,包含配置节和命名空间声明<section> //配置节声明<sectionGroup> //定义配置节组<section> //配置节组中的配置节声明<appSettings> //预定义配置节<Custom element for configuration section> //配置节设置区域2. 只有appSettings节的配置文件及访问方法下面是一个最常见的应用程序配置文件的例子,只有appSettings节。
Asp 文件的打开、读取与写入
do while not ts.AtEndOfStream ‘检查是否到达文件结尾
chars=ts.read(6) ‘读取6个字符,再派给字符串变量chars
response.write chars & “<br />” ‘输出chars的值和强制换行
用途:在文件内写入字符串
范例:ts.Write(“ASP 动态网页设计”)
语法:ts.WriteLine(string)
用途:在文件内写入字符串和换行符
范例:ts.Write(“ASP 动态网页设计”)
语法:ts.WriteBlankLines(num)
用途:在文件内写入Num 个换行字符
loop
ts.close ‘关闭打开的文件
set ts=nothing ‘释放实例对象
set fso=nothing ‘释放实例对象
%>
</body>
</html>
<%
dim fso,ts,aline
set fso = server.createobject("scripting.filesystemobject")
范例:Dim Aline
Aline=ts.ReadLine
Response.Write Aline
<html>
<head></head>
<body>
<%
dim fso,ts,chars
ASP.NET读取网络或本地图片显示
读取网络或本地图片显示写这个的缘由是在CSDN看到的两个问题:1、抓取网络图片,不在本地保存而直接显示2、在站点服务器上某个磁盘的文件里有图片,想能够在网站上显示出来,图片文件夹不在站点目录一、读取网络图片1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xht ml1-transitional.dtd">2.<html xmlns="/1999/xhtml">3.<head>4.<title></title>5.</head>6.<body>7.<form id="form1" runat="server">8.<div>9.<img src="hx?url=/intl/zh-CN/images/logo_cn.png" mce_src="hx?url=/intl/zh-CN/images/logo_cn.png"10.alt="google logo" />11.</div>12.</form>13.</body>14.</html>hx1.<%@ WebHandler Language="C#" Class="Handler" %>ing System;ing System.Web;ing ;ing System.Drawing;ing System.IO;7.public class Handler : IHttpHandler {8.9.public void ProcessRequest (HttpContext context) {10.string imgUrl = context.Request["Url"];11.if (!string.IsNullOrEmpty(imgUrl))12.{13.Uri myUri = new Uri(imgUrl);14.WebRequest webRequest = WebRequest.Create(myUri );15.WebResponse webResponse = webRequest.GetRespo nse();16.Bitmap myImage = new Bitmap(webResponse.GetRes ponseStream());17.MemoryStream ms = new MemoryStream();18.myImage.Save(ms, System.Drawing.Imaging.ImageFor mat.Jpeg);19.context.Response.ClearContent();20.context.Response.ContentType = "image/Jpeg";21.context.Response.BinaryWrite(ms.T oArray());22.}23.}24.25.public bool IsReusable {26.get {27.return false;29.}30.}二、读取本地图片读取本地文件,如:d:/1.jpg1.<%@ WebHandler Language="C#" Class="Handler2" %>ing System;ing System.Web;ing System.IO;ing System.Drawing;6.public class Handler2 : IHttpHandler {7.public void ProcessRequest(HttpContext context)8.{9.string path = context.Request.QueryString["path"];10.if (!string.IsNullOrEmpty(path))11.{12.FileStream fs = new FileStream(@path, FileMode.Open , FileAccess.Read);13.Bitmap myImage = new Bitmap(fs);14.15.MemoryStream ms = new MemoryStream();16.myImage.Save(ms, System.Drawing.Imaging.ImageFor mat.Jpeg);17.context.Response.ClearContent();18.context.Response.ContentType = "image/Jpeg";19.context.Response.BinaryWrite(ms.T oArray());20.}22.23.public bool IsReusable {24.get {25.return false;26.}27.}28.}。
ASP读取文件夹文件列表
遍历目录下的所有文件和属性<table border><tr><td>Name 属性</td><td>DateCreated 属性</td><td>DateLastAccessed 属性</td><td>DateLastModified 属性</td><td>Drive 属性</td><td>Attributes 属性</td><td>ParentFolder 属性</td><td>Path 属性</td><td>ShortName 属性</td><td>ShortPath 属性</td><td>Size 属性</td><td>Type 属性</td></tr><%Function ShowFolderList(folderspec)Dim fso, f, f1, fc, s,tmpSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFolder(folderspec)Set fc = f.FilesFor Each f1 in fctmp = " "Select Case f1.AttributesCase 0tmp = "Normal:普通文件"Case 1tmp = "R eadOnly:只读文件"Case 2tmp = "Hidden:隐藏文件"Case 4tmp = "System:系统文件"Case 16tmp = "Directory:文件夹或目录"Case 32tmp = "Archive:上次备份后已更改的文件"Case 1024tmp = "Alias:链接或快捷方式"Case 2048tmp = "Compressed:压缩文件"End Selects = s & "<tr>"s = s & "<td>" & & "</td>"s = s & "<td>" & f1.DateCreated & "</td>"s = s & "<td>" & f1.DateLastAccessed & "</td>"s = s & "<td>" & f1.DateLastModified & "</td>"s = s & "<td>" & f1.Drive & "</td>"s = s & "<td>" & tmp & "</td>"s = s & "<td>" & f1.ParentFolder & "</td>"s = s & "<td>" & f1.Path & "</td>"s = s & "<td>" & f1.ShortName &"</td>"s = s & "<td>" & f1.ShortPath & "</td>"s = s & "<td>" & f1.Size & "</td>"s = s & "<td>" & f1.Type & "<td>"s = s & "</tr>"NextShowFolderList = sEnd FunctionResponse.write ShowFolderList(Server.MapPath("."))%><%'递归算法简单示例,递归遍历指定目录下所有文件和子目录中的文件'代码原创者:Jspadmin(飞云)'个人网站 提供免费博客申请'你可以自由引用或修改本代码,但请保留连接或此注释dir="/" '请设置你要显示的目录,"/"为整站所有文件,"../"为上级目录下所有文件set fso = createobject("scripting.filesystemobject")response.write "指定目录下所有文件及所有子目录下文件显示如下:" & "<br>" iterate(server.mappath(dir))function iterate(path)dim folder, folders, files, fileset folder = fso.getfolder(path)set files = folder.filesfor each file in filesresponse.write file.path & "<br>"nextset folders = folder.subfoldersfor each f in foldersiterate f.pathnextend functionset fso=nothing%>Top中文出错我只碰到这种情况,使用getparentfolder时中文路径出错.asp<%fpath="D:\Inetpub\wwwroot\aspstudy\netos\资料"set fso=server.createobject("scripting.filesystemobject")set thisfolder=fso.getfolder(fpath)set up=thisfolder.parentfolderresponse.write upset fso=nothing%>Top对不起,可能是我没说明白.我的意思是我可以列出某个路径下的所有文件名,但是一些中文文件名的文件在浏览器中无法打开.如何解决?谢谢Top我觉得你应该更深入的了解下面的知识1)正则表达式,可以用来作匹配判断2)FSO,用来遍历文件以及文件夹下面是示例代码,找出当前文件夹所有的中文文档(doc,txt)<%rem Author: blueDestinyFunction i t erateChineseFileName(fileFolder)Set Folder=fso.getFolder(fileFolder)Set FileSets=Folder.filesfor Each f in FileSetsif re.test()=true thenresponse.Write & "<br/>"response.Flushcounter=counter+1end ifnextif response.isclientconnected=false then response.EndSet SubFolder=Folder.SubFoldersFor Each f in SubFolderiterateChineseFileName(f.path)NextEnd Functiondim fso, re,fileFolder,counterSet fso=Server.CreateObject("Scripting.FileSystemObject")Set re=new R egExpre.global=truere.ignorecase=falsere.pattern="^([\u0391-\uFFE5]+)(\.txt|doc)$"fileFolder=server.mappath(".")counter=1iterateChineseFileName(fileFolder)response.Write "total chinese file(s) " & counter & ""刚才测了一下,正则写错了个地方,重贴一次吧<%rem Author: blueDestinyFunction i t erateChineseFileName(fileFolder)Set Folder=fso.getFolder(fileFolder)Set FileSets=Folder.filesfor Each f in FileSetsif re.test()=true thenresponse.Write f.path & "<br/>"response.Flushcounter=counter+1end ifnextif response.isclientconnected=false then response.EndSet SubFolder=Folder.SubFoldersFor Each f in SubFolderiterateChineseFileName(f.path)NextEnd Functiondim fso, re,fileFolder,counterSet fso=Server.CreateObject("Scripting.FileSystemObject")Set re=new R egExpre.global=truere.ignorecase=falsere.pattern="^([\u0391-\uFFE5]+)\.(?:doc|txt)$"fileFolder=server.mappath(".")counter=1iterateChineseFileName(fileFolder)response.Write "total chinese file(s) " & counter & "" %>Top。
ASP.NET对txt文件相关操作(读取、写入、保存)
对txt⽂件相关操作(读取、写⼊、保存)读取txt⽂件(记事本)内容:using System;using System.Collections;using System.Configuration;using System.Data;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.IO;//获取txt⽂件流namespace test{public partial class Text : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){Response.Write(GetInterIDList("asp.txt"));}//读取txt⽂件的内容public string GetInterIDList(string strfile){string strout;strout = "";if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(strfile))){}else{StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath(strfile), System.Text.Encoding.Default);String input = sr.ReadToEnd();sr.Close();strout = input;}return strout;}}}读取txt⽂件内容就是获取⽂件流,记得要引⽤using System.IO;。
ASP.NET中文件目录的读取及显示方法
中文件目录的读取及显示方法
叶笠;谭飞;李晓华;余杰
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】2012(000)002
【摘要】中的TreeView控件可以以树型的方式显示数据,DataTable则可以存放数据集,着重介绍了在DataTable中构造文件目录数据,以及将它们在TreeView控件上表现出来的方法.
【总页数】2页(P52-53)
【作者】叶笠;谭飞;李晓华;余杰
【作者单位】中国人民解放军78179部队,成都611830;中国人民解放军78179部队,成都611830;中国人民解放军78179部队,成都611830;中国人民解放军78179部队,成都611830
【正文语种】中文
【相关文献】
1.基于GDAL的遥感影像数据快速读取与显示方法的研究 [J], 查东平;林辉;孙华;刘年元;申展
2.基于实现图片存储数据库及页面读取研究与应用 [J], 刘正龙;罗玉军
3.基于实现图片存储数据库及页面读取研究与应用 [J], 刘正龙;罗玉军
中GridView读取Excel数据的实现 [J], 皇甫大双
5.基于GDAL的遥感影像快速读取与显示方法研究 [J], 张利娜;张东芳;白亚彬因版权原因,仅展示原文概要,查看原文内容请购买。
ASP如何读取Word文档内容并显示于网页
ASP 如何读取Word 档案内容并显示于网页一般而言,在ASP 或 中透过CreateObject 建构函数建立Word 对象会有安全性及使用权限上的问题,因此若虚拟目录不使用整合Windows 验证将无法存取Word doc 檔,更不用说虚拟目录以外的目录,好比说C:\ 根目录下的Word 文件。
底下介绍个方式,给大家参考看看:●使用VB6⏹建立项目,选择ActiveX DLL⏹将项目的Name属性设定成Ax,Class 的Name 属性设为Word⏹编辑程序代码如下:⏹Public Function GetDocContent(strFile As String) As StringDim wdObj As Object ' 宣告Set wdObj = CreateObject("Word.Application") ' 个体化Word 物件With wdObj.Documents.Open strFile ' 开启Word 檔GetDocContent = .ActiveDocument.Content ' 读出Word 内容啰' 底下关掉Word 檔, 释放资源On Error Resume Next.ActiveDocument.Close.ActiveWindow.Close.QuitEnd WithSet wdObj = NothingEnd Function⏹编译制成DLLCompiler 完成后请使用RegSvr32.exe 将该Dll 组件"反注册" , 如RegSvr32 /u "路径+文件名.dll"RegSvr32.exe 工具使用可参考:<< 关于ActiveX (OLE) 组件登录注册>>●执行DCOMCNFG.EXE -> [确定]⏹COM+应用程序-> 鼠标右键-> 新增-> 应用程序⏹[下一步] -> 建立空的应用程序⏹输入应用程序名称-> 伺服应用程序-> [下一步]⏹使用下列使用者-> 使用者-> 密码/ 确认密码-> [下一步] -> [完成]◆输入Administrator 及密码⏹AxWord -> 组件-> 鼠标右键-> 新增-> 组件-> [下一步]⏹[安装新组件]⏹选取先前用VB6 编译制成的DLL⏹[下一步] -> [完成]●ASP Code 如下:⏹<%' 宣告Dim wd' 建立先前写的DLL 对象, 个体化Set wd = Server.CreateObject("AX.Word")' 执行Dll 中的GetDocContent 方法读Word 内容Response.Write wd.GetDocContent("C:\1.doc")%>======================================================== ========以上方式是使用VB6 ,将Word 对象作动的部份写成ActiveX Dll ,在放到组件服务里的COM+ 中,并指定Administrator 去执行,以避开安全性上的权限问题;但倘若手边没有VB6开发工具呢?底下介绍WSC 的方式,只要文字文件不需VB6啰!WSC ( Windows Script Component )●建立一新文字文件⏹编辑程序代码如下:⏹<?xml version="1.0"?><component><registrationdescription="PH ActiveX Word Windows Script Component"progid="AxWsc.Word"version="1.00"classid="{5F644CD7-E1D4-4D54-A260-B4CCC2F540FC}"> </registration><public><method name="GetDocContent"></method></public><script language="VBScript"><![CDATA[Function GetDocContent(strFile)Dim wdObjSet wdObj = CreateObject("Word.Application")With wdObj.Documents.Open strFileGetDocContent = .ActiveDocument.ContentOn Error Resume Next.ActiveDocument.Close.ActiveWindow.Close.QuitEnd WithSet wdObj = NothingEnd Function]]></script></component>⏹存档命名为AxWord.wsc ( 注意扩展名为WSC )⏹选取档案-> 鼠标右键-> 注册-> 出现注册是否成功的讯息-> [确定]⏹选取档案-> 鼠标右键-> 建立型态链接库◆( 会产生一ScriptLet.tlb 的Type Library 档案)⏹之后如同ActiveX Dll 安装于组件服务中的动作⏹直到[安装新组件] 时,请选择ScriptLet.tlb 档案⏹完成后画面如下:●ASP Code 如下:⏹<%' 宣告Dim wd' 建立先前写的DLL 对象, 个体化Set wd = Server.CreateObject("AxWsc.Word")' 执行Dll 中的GetDocContent 方法读Word 内容Response.Write wd.GetDocContent("C:\1.doc")%>。
asp.net中打开Excel上传文件,读取数据的方法
中打开Excel上传文件,读取数据的方法代码:/// <summary>/// 打开Excel文件/// </summary>/// <param name="ExcelFileName">文件名</param>private void OpenExcelFile(string ExcelFileName){Excel.Application App = new Excel.Application();if (App == null){return; //Excel尚未安装}Excel.Workbook workbook = App.Workbooks.Open(@ExcelFileName,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing);CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture;try{App.Visible = false;App.DisplayAlerts = false;Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");ProcessExcelData(workbook);}finally{App.Quit();Marshal.ReleaseComObject(workbook);while (Marshal.ReleaseComObject(App) > 0) ;workbook = null;App = null;GC.Collect();Thread.CurrentThread.CurrentCulture = CurrentCI;}}/// <summary>/// 提取Excel表格数据/// </summary>/// <param name="InputWorkbook"></param>/// <returns></returns>private Excel.Workbook ProcessExcelData(Excel.Workbook InputWorkbook){Excel.Sheets sheets = InputWorkbook.Worksheets;Excel.Worksheet DataSheet = null;foreach (Worksheet sheet in sheets){if (.T oLower() == "sheet1"){DataSheet = sheet;break;}}if (null == DataSheet){return InputWorkbook;}库存批次表 Bll = new 库存批次表();库存批次表Info Model;object TmpObj;Excel.Range FieldsRange = DataSheet.get_Range("A2", "K7");System.Array FieldNames = (System.Array)FieldsRange.Formula;for (int i = 0; i < FieldNames.GetLength(0); i++){Model = new 库存批次表Info();TmpObj = FieldNames.GetValue(i + 1, 1);Model.货品ID = Convert.ToDecimal(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 2);Model.货品编码 = Convert.T oDecimal(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 3);Model.批次号 = Convert.T oString(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 4);Model.入库日期 = Convert.T oDateTime(TmpObj.T oString());TmpObj = FieldNames.GetValue(i + 1, 5);Model.入库单号 = Convert.T oString(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 6);Model.入库信息 = Convert.T oString(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 7);Model.生产日期 = Convert.T oDateTime(TmpObj.T oString());TmpObj = FieldNames.GetValue(i + 1, 8);Model.过期日期 = Convert.T oDateTime(TmpObj.T oString());TmpObj = FieldNames.GetValue(i + 1, 9);Model.入库数量 = Convert.T oDecimal(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 10);Model.出库数量 = Convert.T oDecimal(TmpObj);TmpObj = FieldNames.GetValue(i + 1, 11);Model.结存数量 = Convert.T oDecimal(TmpObj);Bll.Insert(Model);}FieldsRange = null;FieldNames = null;return InputWorkbook;}调用方法:OpenExcelFile(Server.MapPath(@"../UploadFile/")+strFileUR L);。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if (rdFile) { Filelnfo [] f ilelnfo=dirinfo.GetFiles 0 ; ,,获得 目录下 的文件 fomach (Filelnfo f lnfo in f ilelnfo) {
作者简介 :叶笠 (1972一),男 ,高级工 程师 ,研 究方 向 :计 算机 软件 、信息安全 ;谭飞 ,高级工程师。
entid”,typeof(int))); dtFile.Column s.Add (new DataColumn(” fiIe—
n am e ” , typeof(str ing))); d le.Column s.Add (new DataColumn (” full-
n am e” , typeof(string))); DataRow dr:dtFile.NewRow 0 ; dr【0】 =fileID++; dr【1】 =0; dr【2】 =thisOne.Name.ToString 0 ; dr[3】 =thisOne.FullName.ToString (); d le.Rows.Add (dr); Lis les(thisOne,l,dtFile,rdFile); return dtFile;
} private void ListFiles (Directorylnfo theDir,int parent_id, DataTable dt,bool rdFile),/递归 目录、文件
f
D ataRow dr;
Directorylnfo 【】 subDirectories = theDir.GetDi- rectories 0 获得 目录
public DataTable GetFiles(string path,bool rdFile) { Directorylnfo thisOne:new Directorylnfo(path);
f ileID = l:
dtFile=new DataTable 0 : dtFile.Columns.Add (new DataColumn (” id” , typeof(inc))); dtFile.Columns.Add (new DataColunLn (” p
l 引言 ASP.NET提 供 了一个 叫 TreeView的控 件可 以显 示带有树
型结构 的数 据 ,这给 程序设计 中需 要读取 文件 目录的应用 提 供 了极 大的方便 ,实 际上 ,凡是具 有继承 (父子) 关系 的数 据均可使用 这一控件 进行表示 。介 绍一个 将某个 目录下 的数 据 (子 目录 和 文 件) 读 入一 个 DataTable数 据 集 中 ,并 用 TreeView控件显 示出来 的方法 。通过这个 例子可 使读者掌 握 构造具有树 型结构数据集和使用 TreeView控件的一般方法 。 2 构 造 文件 目录数 据集
Directories Listing M ethod in ASP.NET
YE Li,TAN Fei,LI Xiaohua ,YU Jie (Army Unit 78179 of PLA ,Cbengdu 61 1830)
Abstract:This paper address itself in listing directories in ASP.NETt applications.Firstly,the director ies and f iles are read in a DataTable,and secondly,the DataTable are shown by a TreeView contro1. Key words:ASP.NET;TreeView; DataTable
表 1文件 目录 DataTable
字段 名 id parent_id filename fullname
字段 类型 int mt string stnng
含义 用于标识当前 目录 用于标识 当前目录的父 目录 文件 目录名 文件 目录全路径名
下 面给出的两个 函数用 于将指定 目录 的子 目录及 文件读 入一个 DataTable数据表 ,在函数 GetFiles中 ,如果 bool型变 量 rdFile值为真 ,则需读取 目录下的文件 ;如果值为假 ,则只 凑取 目录下 的子 目录 ,而不读取文件。
一 个指定 的 目录下 可能有若 干子 目录和文件 ,而子 目录 下又可 能有下级子 目录和文件 ,要使 各 目录相互关 联 ,必 需 构造包含两个关键字段 的数据表 ,一个 是 ID字段 ,用 于标 识 当前 目录 ;另外 一个 是 ParentID,用 于指 向当前 目录 的父 目 录 。数据表 如表 1所示 。
电脑 编程技巧 与维护
ASP.N余杰 (中国人民解放军 78179部队 ,成都 61 1830)
摘 要 :ASP.NET中的 TreeView控 件可 以以树型 的方式 显示数 据 ,DataTable则可 以存 放数 据 集,着重介 绍 了在 DataTable中构造文件 目录数据 ,以及将它们在 TreeView控件上表现 出来的方法。 关 键词 :ASP.NET;TreeView ;DataTable
foreach (Directorylnfo dirinfo in subDirectories) { dr=dt.NewRow 0 : dr【0】 =filelD; dr【l】 =parent_id; dr【2】 =dirinfo.Name.ToString (); dr【3】 =dirinfo.FuUNa m e.ToString 0 ; dt.Rows.Add (dr);