HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍核心概念主要属性主要方法1. 文件操作2. 打开文件3. 属性管理完整示例示例1显示文件信息示例2文件读写操作示例3文件批量处理重要注意事项1. 权限问题2. 路径处理3. 错误处理4. 文件上传结合5. 安全性考虑相关对象常见应用场景兼容性在 ASPActive Server Pages中File 对象​ 是FileSystemObject (FSO)​ 组件的一部分用于处理服务器上的文件操作。它属于Scripting.FileSystemObject库提供了对文件的各种属性和方法。核心概念File 对象表示一个具体的文件通过 FSO 的GetFile()方法创建。必须先实例化 FileSystemObject 才能使用 File 对象。% Set fso Server.CreateObject(Scripting.FileSystemObject) Set objFile fso.GetFile(C:\inetpub\wwwroot\test.txt) %主要属性File 对象包含以下属性均为只读属性描述示例Name​文件名不含路径test.txtShortName​短文件名8.3格式TEST~1.TXTPath​完整路径C:\inetpub\wwwroot\test.txtShortPath​短路径格式C:\INETPUB\WWWROOT\TEST~1.TXTSize​文件大小字节1024Type​文件类型描述Text DocumentAttributes​文件属性位掩码1只读2隐藏等DateCreated​创建日期2023-01-15 10:30:00DateLastAccessed​最后访问日期2023-01-20 14:25:00DateLastModified​最后修改日期2023-01-20 14:25:00ParentFolder​父文件夹对象返回 Folder 对象Drive​所在驱动器对象返回 Drive 对象文件属性常量Const Normal 0 普通文件 Const ReadOnly 1 只读 Const Hidden 2 隐藏 Const System 4 系统文件 Const Directory 16 目录 Const Archive 32 存档主要方法1.文件操作 复制文件 objFile.Copy C:\backup\test.txt, True True覆盖已存在文件 移动文件 objFile.Move D:\archive\test.txt 删除文件 objFile.Delete 或 Delete(True) 强制删除只读文件2.打开文件 以文本流方式打开文件 Set ts objFile.OpenAsTextStream(ForReading, TristateUseDefault) 或 Set ts fso.OpenTextFile(C:\test.txt, ForReading, False)打开模式Const ForReading 1 只读 Const ForWriting 2 写入覆盖 Const ForAppending 8 追加编码格式Const TristateUseDefault -2 系统默认 Const TristateTrue -1 Unicode Const TristateFalse 0 ASCII3.属性管理 设置文件属性 objFile.Attributes ReadOnly Hidden 设置为只读隐藏 检查是否只读 If (objFile.Attributes And ReadOnly) ReadOnly Then Response.Write 文件是只读的 End If完整示例示例1显示文件信息% 创建 FileSystemObject Set fso Server.CreateObject(Scripting.FileSystemObject) 获取文件物理路径 filePath Server.MapPath(/test.txt) 检查文件是否存在 If fso.FileExists(filePath) Then 创建 File 对象 Set objFile fso.GetFile(filePath) % h3文件信息% objFile.Name %/h3 table border1 trtd文件名/tdtd% objFile.Name %/td/tr trtd大小/tdtd% FormatNumber(objFile.Size/1024, 2) % KB/td/tr trtd路径/tdtd% objFile.Path %/td/tr trtd类型/tdtd% objFile.Type %/td/tr trtd创建时间/tdtd% objFile.DateCreated %/td/tr trtd修改时间/tdtd% objFile.DateLastModified %/td/tr /table % Else Response.Write 文件不存在 End If 清理对象 Set objFile Nothing Set fso Nothing %示例2文件读写操作% Set fso Server.CreateObject(Scripting.FileSystemObject) filePath Server.MapPath(/data.txt) 写入文件 Set objFile fso.GetFile(filePath) Set ts objFile.OpenAsTextStream(ForWriting, True) Unicode编码 ts.Write Hello, ASP File Object! ts.Close Set ts Nothing 读取文件 Set ts objFile.OpenAsTextStream(ForReading, True) content ts.ReadAll ts.Close Set ts Nothing Response.Write 文件内容 content 清理 Set objFile Nothing Set fso Nothing %示例3文件批量处理% 获取文件夹下所有文件 Set fso Server.CreateObject(Scripting.FileSystemObject) folderPath Server.MapPath(/uploads/) If fso.FolderExists(folderPath) Then Set objFolder fso.GetFolder(folderPath) Response.Write h3文件夹内容/h3 Response.Write ul 遍历文件 For Each objFile In objFolder.Files Response.Write li objFile.Name _ ( FormatNumber(objFile.Size/1024, 1) KB) _ - 修改于 objFile.DateLastModified /li Next Response.Write /ul 统计 Response.Write p文件总数 objFolder.Files.Count /p Set objFolder Nothing End If Set fso Nothing %重要注意事项1.权限问题ASP 运行在 IIS 用户如IUSR_机器名下必须确保该用户对目标文件/文件夹有相应权限生产环境应严格控制文件操作权限2.路径处理 推荐使用 Server.MapPath 转换虚拟路径 physicalPath Server.MapPath(/uploads/test.txt) 避免硬编码路径 错误filePath C:\inetpub\wwwroot\test.txt 正确filePath Server.MapPath(/test.txt)3.错误处理On Error Resume Next Set fso Server.CreateObject(Scripting.FileSystemObject) filePath Server.MapPath(/test.txt) If fso.FileExists(filePath) Then Set objFile fso.GetFile(filePath) 文件操作... Else Response.Write 文件不存在错误 Err.Description End If If Err.Number 0 Then Response.Write 发生错误 Err.Description End If On Error Goto 04.文件上传结合File 对象常与上传组件配合使用% 假设已通过上传组件保存文件 uploadedFile C:\uploads\userfile.txt 验证文件类型 Set fso Server.CreateObject(Scripting.FileSystemObject) Set objFile fso.GetFile(uploadedFile) 检查文件大小限制为 5MB If objFile.Size 5 * 1024 * 1024 Then Response.Write 文件太大 objFile.Delete Response.End End If %5.安全性考虑验证文件扩展名限制可访问目录过滤危险字符../, .., 绝对路径等重命名上传文件避免覆盖相关对象File 对象通常与以下对象配合使用FileSystemObject​ - 主对象Folder 对象​ - 文件夹操作TextStream 对象​ - 文本文件读写Drive 对象​ - 驱动器信息常见应用场景日志文件读写配置文件管理文件上传处理静态内容生成数据备份/恢复兼容性仅适用于 Windows 服务器需要scrrun.dll支持IIS 5.0 默认支持在 ASP.NET 中建议使用System.IO命名空间替代File 对象是 ASP 中处理文件系统的核心组件合理使用可以实现强大的文件管理功能但务必注意安全性和错误处理。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧