<script type="text/javascript">
function delImageName(albumID_imageName)
{
var albumID,imageName;
var ai = albumID_imageName.split(":");
for(var i=0;i<ai.length;i++)
{
albumID = ai[0];
imageName = ai[i];
}
// alert('删除照片:'+albumID+' '+imageName);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var photo = fso.GetFile("d:\\upload\\"+albumID+"\\"+imageName);
photo.Delete();
window.location.reload();
// document.cookie = "delAlbumID="+albumID;
// document.cookie = "delImageName="+imageName;
}
</script>
FileSystemObject 对象
FileSystemObject 对象
FileSystemObject(FSO) 对象模式包含下面的对象和集合。
对象/集合 描述
FileSystemObject 主对象。包含用来创建、删除和获得有关信息,以及通常用来操作驱动器、文件夹和文件的方法和属性。和该对象相关联的许多方法,与其他 FSO 对象中的方法完全相似;它
们是为了方便才被提供的。
Drive 对象。包含用来收集信息的方法和属性,这些信息是关于连接在系统上的驱动器的,如驱动器的共享名和它有多少可用空间。请注意,"drive" 并非必须是硬盘,也可以是 CD-ROM 驱动器
,RAM 磁盘等等。并非必须把驱动器实物地连接到系统上;它也可以通过网络在逻辑上被连接起来。
Drives 集合。提供驱动器的列表,这些驱动器实物地或在逻辑上与系统相连接。Drives 集合包括所有驱动器,与类型无关。要可移动的媒体驱动器在该集合中显现,不必把媒体插入到驱动器中。
File 对象。包含用来创建、删除或移动文件的方法和属性。也用来向系统询问文件名、路径和多种其他属性。
Files 集合。提供包含在文件夹内的所有文件的列表。
Folder 对象。包含用来创建、删除或移动文件夹的方法和属性。也用来向系统询问文件夹名、路径和多种其他属性。
Folders 集合。提供在 Folder 内的所有文件夹的列表。
TextStream 对象。用来读写文本文件。
创建对象: var fso = new ActiveXObject("Scripting.FileSystemObject");
对象方法:创建文件CreateTextFile("d:\\text.txt")
一种: f1 = fso.CreateTextFile("c:\\testfile.txt", true);
二种: ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
三种: fso.CreateTextFile ("c:\\test1.txt");
f1 = fso.GetFile("c:\\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);
创建目录CreateFolder('d:\\ddd')
其它方法 GetDrive , GetFolder , GetFile
可以用 Drive 对象来获得有关各种驱动器的信息,这些驱动器是实物地或通过网络连接到系统上的。它的属性可以用来获得下面的信息内容:
* 驱动器的总容量,以字节为单位(TotalSize 属性)
* 驱动器的可用空间是多少,以字节为单位(AvailableSpace 或 FreeSpace 属性)
* 哪个号被赋给了该驱动器(DriveLetter 属性)
* 驱动器的类型是什么,如可移动的、固定的、网络的、CD-ROM 或 RAM 磁盘(DriveType 属性)
* 驱动器的序列号(SerialNumber 属性)
* 驱动器使用的文件系统类型,如 FAT、FAT32、NTFS 等等(FileSystem 属性)
* 驱动器是否可以使用(IsReady 属性)
* 共享和/或卷的名字(ShareName 和 VolumeName 属性)
* 驱动器的路径或根文件夹(Path 和 RootFolder 属性)
* function ShowDriveInfo1(drvPath)
{
var fso, drv, s ="";
fso = new ActiveXObject("Scripting.FileSystemObject");
drv = fso.GetDrive(fso.GetDriveName(drvPath));
s += "Drive " + drvPath.toUpperCase()+ " - ";
s += drv.VolumeName + "<br>";
s += "Total Space: " + drv.TotalSize / 1024;
s += " Kb" + "<br>";
s += "Free Space: " + drv.FreeSpace / 1024;
s += " Kb" + "<br>";
Response.Write(s);
}
处理文件夹
在下面的表中,描述了普通的文件夹任务和执行它们的方法。
任务 方法
创建文件夹。 FileSystemObject.CreateFolder
删除文件夹。 Folder.Delete 或 FileSystemObject.DeleteFolder
移动文件夹。 Folder.Move 或 FileSystemObject.MoveFolder
复制文件夹。 Folder.Copy 或 FileSystemObject.CopyFolder
检索文件夹的名字。 Folder.Name
如果文件夹在驱动器上存在,则找出它。 FileSystemObject.FolderExists
获得现有 Folder 对象的实例。 FileSystemObject.GetFolder
找出文件夹的父文件夹名。 FileSystemObject.GetParentFolderName
找出系统文件夹的路径。 FileSystemObject.GetSpecialFolder
function ShowFolderInfo()
{
var fso, fldr, s = "";
// 获得 FileSystemObject 的实例。
fso = new ActiveXObject("Scripting.FileSystemObject");
// 获得 Drive 对象。
fldr = fso.GetFolder("c:");
// 打印父文件夹名。
Response.Write("Parent folder name is: " + fldr + "<br>");
// 打印驱动器名字。
Response.Write("Contained on drive " + fldr.Drive + "<br>");
// 打印根文件名。
if (fldr.IsRootFolder)
Response.Write("This is the root folder.");
else
Response.Write("This folder isn't a root folder.");
Response.Write("<br><br>");
// 用 FileSystemObject 对象创建新的文件夹。
fso.CreateFolder ("C:\\Bogus");
Response.Write("Created folder C:\\Bogus" + "<br>");
// 打印文件夹的基本名。
Response.Write("Basename = " + fso.GetBaseName("c:\\bogus") + "<br>");
// 删除新创建的文件夹。
fso.DeleteFolder ("C:\\Bogus");
Response.Write("Deleted folder C:\\Bogus" + "<br>");
}
添加数据到文件中
一旦创建了文本文件,使用下面的三个步骤向文件添加数据:
打开文本文件。
写入数据。
关闭文件。
要打开现有的文件,则使用 FileSystemObject 对象的 OpenTextFile 方法或 File 对象的 OpenAsTextStream 方法。
要写数据到打开的文本文件,则根据下表所述任务使用 TextStream 对象的 Write、WriteLine 或 WriteBlankLines 方法。
任务 方法
向打开的文本文件写数据,不用后续一个新行字符。 Write
向打开的文本文件写数据,后续一个新行字符。 WriteLine
向打开的文本文件写一个或多个空白行。 WriteBlankLines
要关闭一个打开的文件,则使用 TextStream 对象的 Close 方法。
注意 新行字符包含一个或几个字符(取决于操作系统),以把光标移动到下一行的开始位置(回车/换行)。注意某些字符串末尾可能已经有这个非打印字符了。
function CreateFile() { var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject"); tf = fso.CreateTextFile("c:\\testfile.txt", true); // 写一行,并且带
有新行字符。 tf.WriteLine("Testing 1, 2, 3.") ; // 向文件写三个新行字符。 tf.WriteBlankLines(3) ; // 写一行。 tf.Write ("This is a test."); tf.Close(); }
读取文件
要从文本文件读取数据,则使用 TextStream 对象的 Read、ReadLine 或 ReadAll 方法。下表描述了不同的任务应使用哪种方法。
任务 方法
从文件读取指定数量的字符。 Read
读取一整行(一直到但不包括新行字符)。 ReadLine
读取文本文件的整个内容。 ReadAll
如果使用 Read 或 ReadLine 方法,并且想跳过数据的特殊部分,则使用 Skip 或 SkipLine 方法。read 方法的结果文本存在一个字符串中,该字符串可以显示在一个控件中,也可以用字符串函数
(如 Left、Right 和 Mid)来分析,连接等等。
function ReadFiles() { var fso, f1, ts, s; var ForReading = 1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\\testfile.txt",
true); // 写一行。 Response.Write("Writing file <br>"); f1.WriteLine("Hello World"); f1.WriteBlankLines(1); f1.Close(); // 读取文件的内容。
Response.Write("Reading file <br>"); ts = fso.OpenTextFile("c:\\testfile.txt", ForReading); s = ts.ReadLine(); Response.Write("File contents = '" + s + "'");
ts.Close(); }
移动、复制和删除文件
FSO 对象模式各有两种方法移动、复制和删除文件,如下表所述。
任务 方法
移动文件 File.Move 或 FileSystemObject.MoveFile
复制文件 File.Copy 或 FileSystemObject.CopyFile
删除文件 File.Delete 或 FileSystemObject.DeleteFile
<script type="text/javascript">
var albumID,imageName;
function delImageName(albumID_imageName)
{
var albumID,imageName;
var ai = albumID_imageName.split(":");
for(var i=0;i<ai.length;i++)
{
albumID = ai[0];
imageName = ai[i];
}
// alert('删除照片:'+albumID+' '+imageName);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var path = 'd:\\upload\\del\\'+albumID+'\\';
//alert('path='+path);
var folderEx = fso.FolderExists(path);
//alert(folderEx)
if(folderEx)
{
var photo = fso.GetFile("d:\\upload\\"+albumID+"\\"+imageName);
photo.Move(path);
}else
{
var albumIdD=albumID;
fso.CreateFolder("d:\\upload\\del\\");
fso.CreateFolder("d:\\upload\\del\\"+albumIdD+"\\");
var photo = fso.GetFile("d:\\upload\\"+albumID+"\\"+imageName);
photo.Move(path);
}
window.location.reload();
// photo.Delete(); 物理删除 ^ ^
// 删除图片 (把图片移动到另外一个文件夹 已转移 实现 隐式 删除 的功能
}
// ajax 实现 图片 置顶
var XMLHR;
function createXMLHttpRequest()
{
if(window.ActiveXObject){
try{
XMLHR=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
XMLHR=new ActiveXObject("Microsoft.XMLHTTP");
}
}
else if(window.XMLHttpRequest)
{
XMLHR=new XMLHttpRequest();
}
}
function showTop(IdName)
{
createXMLHttpRequest();
var url="showTopPhoto.action"
XMLHR.open("post",url,true);
XMLHR.setRequestHeader("content-Type","application/x-www-form-urlencoded");
XMLHR.onreadystatechange=ShowTopCallBack;
XMLHR.send("IdName="+IdName);
}
function ShowTopCallBack()
{
if(XMLHR.responseText == 'true'){
if(XMLHR.readyState == 4)
{
if(XMLHR.status == 200)
{
window.parent.showReload();
}
}
}else{alert('请稍后再试 .. ');}
}
</script>
分享到:
相关推荐
### JavaScript操作IO流:利用FileSystemObject对象实现文件系统交互 #### 一、核心概念与对象:FileSystemObject 在JavaScript中,实现对文件系统的操作主要依赖于`FileSystemObject`(简称FSO)对象。该对象是...
1. 文件系统对象(FileSystemObject):VB.NET中,我们可以使用`Microsoft.VisualBasic.FileIO.FileSystem`类或`System.IO`命名空间中的类来访问和操作文件系统。`Directory.GetFiles`方法可以用来获取指定目录下的...
var file = new ActiveXObject("Scripting.FileSystemObject"); var textFile = file.OpenTextFile("path/to/file.txt", 1); var content = textFile.ReadAll(); textFile.Close(); } ``` 接下来,我们来讨论...
第六部分,.Net框架类库,讲解了如何使用FileSystemObject对象和.NET Framework的System.IO命名空间进行文件和目录的操作。学生需熟练掌握这两套方法,以便在服务器端进行文件操作。 通过这门课程,学生不仅能够...
例如,Python的`os`和`os.path`模块,Java的`java.io.File`类,Node.js的`fs`模块,都可以实现这一功能。 总之,列出目录中所有文件(含文件夹)是一项基础但重要的任务,它涉及文件系统操作、编程语言的文件I/O...
在描述中提到,开发者最初尝试使用IO流来读取文件,但很快意识到这将读取服务器上的文件,而非客户端的。接着,他发现大部分解决方案是让用户先上传文件到服务器,然后由服务器处理文件内容。这种方法虽然可行,但并...
ASP提供了File对象和FileSystemObject,用于处理文件和目录操作,如复制、移动、创建和删除文件。 3. **数据库备份**:如果网站使用了数据库(如SQL Server或Access),备份系统会包含数据库备份的代码。这通常涉及...
- **语言特性**:介绍JScript的基础语法,与JavaScript的主要区别。 - **兼容性**:讨论JScript在不同Windows版本中的支持情况。 #### 6. 在WSH中建立简单的对话盒 - **创建消息框**:使用`WScript.Echo`或`MsgBox`...
在VB中进行文件操作,包括读取、写入、创建、删除等,通常通过FileSystemObject或者流(Stream)对象来实现。 在描述中提到的"将word内容转换成图片",这是一种技术手段,用于在网络环境下展示Word文档。由于Web应用...
在尝试使用JavaScript遍历文件夹时,由于安全限制,通常需要借助ActiveXObject(如`Scripting.FileSystemObject`)来操作文件系统,但这需要用户具有足够的权限,因此不推荐在跨域或安全性较高的环境中使用。...