/*
豆腐制作 都是精品
http://www.asp888.net 豆腐技术站
如转载 请保留版权信息
*/
很多人可能都用过 chinaasp 出的 ase 可以对 服务器上的文件进行各种操作,在这里我们也来
讲一个在 asp plus 下实现 ase 的程序 由于时间仓促 和本来就是 出于 演示的目的 本程序只演示了最简单的 情况 至于 上传 和编辑文本文件 我在 以前的文章里 都已经 讲过了,大家可以到 http://www.asp888.net 查看技术栏目里面的文章
首先是 列出 机器上 的盘符
<% @page language="c#" %>
<% @import namespace="system.io" %>
<%
string[] localdriver = directory.getlogicaldrives();
int intnum = localdriver.length;
response.write("<ul>");
for (int i=0; i < intnum; i++)
{
%>
<li><a href="dir.aspx?dir=<%=server.urlencode(localdriver[i])%>"><%=localdriver[i]%></a></li>
<%
}
response.write("</ul>");
%>
列出所选择的盘符 上的目录
<% @page language="c#" %>
<% @import namespace="system.io" %>
<%
string strdir2list = server.urldecode(request.querystring.get("dir"));
directory thisone = null;
try
{
thisone = new directory(strdir2list);
// 得到当前的目录创建时间
response.write("<p>当前所在目录: " + thisone.tostring() + "</p>");
directory[] dir = thisone.getdirectories();
response.write("<ul>");
for (int i=0; i < dir.length; i++)
{
response.write("<li><a href=\"dir.aspx?dir=");
response.write(server.urlencode(dir[i].fullname));
response.write("\">" + dir[i].name);
response.write("</a><br>");
}
response.write("</ul>");
file[] files = thisone.getfiles();
response.write("<ul>");
for (int i=0; i < files.length; i++)
{
response.write("<li><a href=\"viewfile.aspx?file=");
response.write(server.urlencode(files[i].fullname));
response.write("\">" + files[i].name);
response.write("</a><br>");
}
response.write("</ul>");
}
catch (exception e)
{
response.write("错误: <i>");
response.write(e.tostring() + "</i>");
response.end();
}
%>
查看文件的详细信息:
<% @page language=vb %>
<% @import namespace="system" %>
<% @import namespace="system.io" %>
<html>
<head><title>编辑文件</title></head>
<body>
<%
dim file as string
file = request.querystring.get("file")
thisone = new file(file)
'string file = request.querystring.get("file");
'file thisone = new file(file);
%>
<table>
<tr><td>文件名称:</td><td><%=thisone.name%></td></tr>
<tr><td>文件的全名:</td><td><%=thisone.fullname%></td></tr>
<tr><td>所在目录:</td><td><%=thisone.directoryname%></td></tr>
<tr><td>文件创建时间:</td><td><%=thisone.creationtime.tostring()%></td></tr>
<tr><td>文件大小:</td><td><%=thisone.length.tostring()%> bytes</td></tr>
<tr><td>最近一次的存取时间:</td><td><%=thisone.lastaccesstime.tostring()%></td></tr>
<tr><td>最近一次更新时间:</td><td><%=thisone.lastwritetime.tostring()%></td></tr>
</table>
<%
ss=split(thisone.name,".")
fileent=lcase(ss(ubound(ss)))
if fileent="txt" or fileent="asp" or fileent="aspx" then
thereader = thisone.opentext()
do
strin = thereader.readline()
response.write(strin)
loop until strin = null
%>
<form action="savefile.asp" method=post>
<textarea cols=40 rows=30><%=strin%></textarea>
<input type=hidden name=filename value="<%=thisone.fullname%>">
<br>
<input type=submit value="保存更改">
</form>
<%
end if
%>
</body>
</html>
好了一个完整的 ase 程序还需要 删除 拷贝 移动和上传 编辑 相信大家在 看完这个程序以后 一定会 有办法 经过 简单 的改动 就 可以实现
这个程序的完整例子可以在 http://www.asp888.net/download/asp/ase.zip 下载
谢谢大家
作者:豆腐()
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器