Class NativeFile
Implements UnifiedFile for a truly native (local physically available) file. Obtained through VirtualPathNativeProvider.GetFile()
Inherited Members
Namespace: EPiServer.Web.Hosting
Assembly: EPiServer.dll
Version: 8.11.0Syntax
public class NativeFile : UnifiedFile
Constructors
NativeFile(UnifiedDirectory, VirtualPathUnifiedProvider, String, String, Boolean)
Initializes a new instance of the NativeFile class.
Declaration
public NativeFile(UnifiedDirectory directory, VirtualPathUnifiedProvider provider, string virtualPath, string localPath, bool bypassAccessCheck)
Parameters
Type | Name | Description |
---|---|---|
UnifiedDirectory | directory | The parent directory of the file. Only used by UnifiedFile for ACL checks on page folders for unsaved pages. |
VirtualPathUnifiedProvider | provider | The provider hosting this file. |
System.String | virtualPath | The virtual path of the file. |
System.String | localPath | The local file system path. |
System.Boolean | bypassAccessCheck | if set to |
Fields
fileInfo
Reference to the underlying file.
Declaration
protected FileInfo fileInfo
Field Value
Type | Description |
---|---|
System.IO.FileInfo |
Properties
Changed
Gets the date and time when the file last was written to.
Declaration
public override DateTime Changed { get; }
Property Value
Type | Description |
---|---|
System.DateTime |
Overrides
Created
Gets the date and time when the file was created.
Declaration
public override DateTime Created { get; }
Property Value
Type | Description |
---|---|
System.DateTime |
Overrides
Extension
Gets the file extension, for example '.doc'.
Declaration
public override string Extension { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
Length
The size of the file (in bytes).
Declaration
public override long Length { get; }
Property Value
Type | Description |
---|---|
System.Int64 |
Overrides
LocalPath
Gets the local file system path of the file.
Declaration
public override string LocalPath { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
Name
Gets the display name of the file.
Declaration
public override string Name { get; }
Property Value
Type | Description |
---|---|
System.String |
Parent
Parent UnifiedDirectory of the current UnifiedFile.
Declaration
public override UnifiedDirectory Parent { get; }
Property Value
Type | Description |
---|---|
UnifiedDirectory |
Overrides
Remarks
When Parent property is overriden: if PageForAclCheck is set, SetPageForAccessControl on parent should be called with PageForAclCheck as parameter before parent is returned.
PermanentLinkVirtualPath
Gets the permanent link virtual path. Not supported by this implementation.
Declaration
public override string PermanentLinkVirtualPath { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
Remarks
Permanent links are not supported by the NativeFile implementation.
Summary
Gets the summary. The summary for NativeFile is a inmemory summary meaning it will not be persisted.
Declaration
public override IUnifiedSummary Summary { get; }
Property Value
Type | Description |
---|---|
IUnifiedSummary | The summary. |
Overrides
Methods
CopyTo(String)
Creates a copy of this file instance at the specified virtual path.
Declaration
public override void CopyTo(string destVirtualPath)
Parameters
Type | Name | Description |
---|---|---|
System.String | destVirtualPath | The destination virtual path. |
Overrides
Remarks
When copying the file to another NativeDirectory the underlying file system copy functionality is used, otherwise the file stream is copied to the destination provider.
CopyTo(String, Guid)
Creates a copy of this file instance at the specified virtual path.
Declaration
public override void CopyTo(string newVirtualPath, Guid fileId)
Parameters
Type | Name | Description |
---|---|---|
System.String | newVirtualPath | The full virtual path to copy the file to, including the file name. |
System.Guid | fileId | The guid for the file. (Ignored in this implementation) |
Overrides
Remarks
This method simply calls CopyTo(String), ignoring the fileId parameter.
Delete()
Deletes the underlying file system file.
Declaration
public override void Delete()
Overrides
InternalMoveCopy(String, Boolean)
The actual Move/Copy operation is performed here. Supports copying/moving to other virtual path providers, in which case the file is read and written as a stream
If copying/moving to the same (or anoter) native directory destination, the underlying FileInfo.CopyTo() / FileInfo.MoveTo() is used for best performance.
Declaration
protected void InternalMoveCopy(string destVirtualPath, bool isMove)
Parameters
Type | Name | Description |
---|---|---|
System.String | destVirtualPath | |
System.Boolean | isMove | True if a Move operation is to be performced, False if a Copy operation |
MoveTo(String)
Move the file to a new location.
Declaration
public override void MoveTo(string destVirtualPath)
Parameters
Type | Name | Description |
---|---|---|
System.String | destVirtualPath | The destination virtual path. |
Overrides
Remarks
Moving between different provider types are supported. When moving the file to another NativeDirectory the underlying file system move functionality is used, otherwise the files stream is copied to the destination provider and the file is deleted in the underlying file system.
Open()
Returns a read-only stream to the file resource.
Declaration
public override Stream Open()
Returns
Type | Description |
---|---|
System.IO.Stream | A read-only stream to the virtual file. |
Overrides
Open(FileMode, FileAccess, FileShare)
Opens the file for writing given an mode with an specific share option to open the file in .
Declaration
public override Stream Open(FileMode mode, FileAccess access, FileShare share)
Parameters
Type | Name | Description |
---|---|---|
System.IO.FileMode | mode | The file mode to use when open the file. |
System.IO.FileAccess | access | A FileAccess constant specifying whether to open the file with Read, Write, or ReadWrite file access. |
System.IO.FileShare | share | A FileShare value specifying the type of access other threads have to the file. |
Returns
Type | Description |
---|---|
System.IO.Stream | A open stream to the file. |
Overrides
StreamBasedCopy(UnifiedDirectory, String)
Copies this file instance by reading the file stream and writing it to the target location.
Declaration
protected void StreamBasedCopy(UnifiedDirectory destinationDirectory, string destinationFileName)
Parameters
Type | Name | Description |
---|---|---|
UnifiedDirectory | destinationDirectory | The destination directory. |
System.String | destinationFileName | Name of the destination file. |