UploadedFile Methods ====================================================== Sub AllowAccess (Account As String, Flags As Long) 给指定的NT用户增加“允许访问控制(ACE)”到文件的“访问控制列表(ACL)”。
参数Flags 必须是有效的访问类型的组合,这些值在AspUpload.inc中进行了定义,如: GENERIC_ALL。
其他有效的Flag组合包括:
Read (RX):GENERIC_READ + FILE_GENERIC_EXECUTE Change(RWXD): GENERIC_READ + GENERIC_WRITE + FILE_GENERIC_EXECUTE + DELETE Full Control (All): GENERIC_ALL
用法: File.AllowAccess "jsmith", GENERIC_ALL ---------------------------------------------------------- Sub Copy (Path As String, Optional Overwrite) 复制文件到指定的路径,此路径必须是有权限的。 如果参数Overwrite设置为True或者忽略,覆盖存在的文件。如果设置为False,并且指定路径下文件已经存在,那么报错。
用法: File.Copy "c:\newpath\" & File.FileName ---------------------------------------------------------- Sub CopyVirtual (VirtualPath As String, Optional Overwrite) 和Copy方法相同。 但是参数为虚拟路径,而不是物理路径。 如果系统管理员禁止了Copy方法,用户被迫使用CopyVirtual方法,这将限制他们在自己的目录下进行操作。
用法: File.CopyVirtual "/uploads/" & File.FileName ---------------------------------------------------------- Sub Delete 删除文件。 用法: File.Delete ---------------------------------------------------------- Sub DenyAccess (Account As String, Flags As Long) 给指定的NT用户增加“拒绝访问控制(ACE)”到文件的“访问控制列表(ACL)”。
参数Flags必须设置为GENERIC_READ。
用法: File.DenyAccess "jsmith", GENERIC_ALL ---------------------------------------------------------- Sub ExtractFileName 此方法废止,仅用来保持向后兼容。请使用FileName。
用法: Response.Write File.ExtractFileName ---------------------------------------------------------- Sub ExtractFolderName 此方法废止,仅用来保持向后兼容。请使用Folder。 用法:
Response.Write File.ExtractFolderName ---------------------------------------------------------- Sub Move (Path As String) 复制文件到指定的路径,该路径必须有权限。
如果文件已经存在,将报错。
副作用:如果此方法成功执行,File.Path 属性将更新为新路径。
用法: File.Move "c:\newpath\" & File.FileName ---------------------------------------------------------- Sub MoveVirtual (VirtualPath As String) 和Move方法相同,但参数是虚拟路径,而不是物理路径。
用法: File.MoveVirtual "/uploads/" & File.FileName ---------------------------------------------------------- Sub RevokeAllowance (Account As String) 从文件的ACL移除相应的允许ACE 。
用法: File.RevokeAllowance "jsmith" ---------------------------------------------------------- Sub RevokeDenial (Account As String) 从文件的ACL移除相应的拒绝ACE 。
用法: File.RevokeDenial "jsmith" ---------------------------------------------------------- Sub SaveAs (Path As String) 保存文件到指定的路径。 如果UploadManager.OverwriteFiles 设置为False,并且指定的路径下文件已经存在, 次方法将在原文件名后追加(1)(2)等形式的字符,以生成唯一文件名。
此方法是保存内存文件到硬盘的唯一方法。
副作用:如果此方法成功执行, UploadedFile.Path 将更新为新路径(或者源于他的新的唯一文件名。)。
用法: File.SaveAs "c:\path\" & File.FileName ---------------------------------------------------------- Sub SaveAsVirtual (VirtualPath As String) 和Save方法相同。 但是参数为虚拟路径,而不是物理路径。 如果系统管理员禁止了Save方法,用户被迫使用SaveVirtual方法,这将限制他们在自己的目录下进行操作。 用法:
File.SaveAsVirtual "/path/" & File.FileName ---------------------------------------------------------- Sub SetOwner (Account As String, Flags As Long) 将指定的NT用户指定为文件的NTFS所有者。
用法: File.SetOwner "jsmith" ---------------------------------------------------------- Sub ToDatabase (Connect As String, SQL As String, Optional MSAccessHeaders) 使用ODBC,将文件作为BLOB保存到数据库。
参数Connect 是一个ODBC连接字符创,可以用系统DSN,或非DSN,如:
"DSN=mydb;UID=sa;PWD=xxxxx"
或者
"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\path\db.mdb"
但是, Connect 不能使 ADO-style 连接串,也就是说,它不能涉及一个旧的DB provider, 因为这个方法是基于ODBC的。
SQL 是一个INSERT或UPDATE的SQL语句, 用问号作为保存到数据库的文件的占位符,
如:
"INSERT INTO mytable(image_blob, path) values(?, 'c:\path\file.ext')"
或者
"UPDATE mytable SET imageblob = ? WHERE id = 15"
MSAccessHeaders 参数只能用在 MS Access 数据库。
如果设置为True, AspUpload 将试图把文件作为OLE对象保存,而不是作为BLOB。 以便文件可以在MS Access中通过双击字段直接调用。
只有当文件类型存在于OLE document servers 的文件类型(如MS Word documents (*.doc), Excel workbooks (*.xls), bitmaps (*.bmp)等等)中时,此特性才有效。
对于其他类型的文件,(如 *.gif) ,参数 MSAccessHeaders 将被忽略,并且假定为False。
注意:你不能直接下载一个以OLE对象保存的文件。
用法: File.ToDatabase "DSN=mydb;UID=sa;PWD=xxxx;", "insert into myimages(image_blob) values(?)" ----------------------------------------------------------
|