이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

ZipPackage 클래스

 

게시 날짜: 2016년 11월

추상의 파생된 서브 클래스를 구현 Package 기본 클래스-는 ZipPackage 클래스 컨테이너 저장소로 ZIP 보관 파일을 사용 합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:   System.IO.Packaging
어셈블리:  WindowsBase(WindowsBase.dll에 있음)

System.Object
  System.IO.Packaging.Package
    System.IO.Packaging.ZipPackage

public sealed class ZipPackage : Package

이름설명
System_CAPS_pubpropertyFileOpenAccess

패키지에 대 한 파일 액세스 설정을 가져옵니다.(Package에서 상속됨)

System_CAPS_pubpropertyPackageProperties

패키지의 핵심 속성을 가져옵니다.(Package에서 상속됨)

이름설명
System_CAPS_pubmethodClose()

저장 하 고 패키지 및 모든 내부 파트 스트림을 닫습니다.(Package에서 상속됨)

System_CAPS_pubmethodCreatePart(Uri, String)

지정 된 URI 및 콘텐츠 형식으로 압축 되지 않은 새 파트를 만듭니다.(Package에서 상속됨)

System_CAPS_pubmethodCreatePart(Uri, String, CompressionOption)

지정 된 URI, 콘텐츠 형식 및 압축 옵션으로 새 파트를 만듭니다.(Package에서 상속됨)

System_CAPS_pubmethodCreateRelationship(Uri, TargetMode, String)

지정 된 URI, 대상 모드 및 관계 유형을 사용 하 여 파트를 패키지 수준 관계를 만듭니다.(Package에서 상속됨)

System_CAPS_pubmethodCreateRelationship(Uri, TargetMode, String, String)

대상 모드, 관계 형식, 지정된 된 URI를 사용 하 여 파트를 패키지 수준 관계를 만듭니다 및 ID(식별자)합니다.(Package에서 상속됨)

System_CAPS_pubmethodDeletePart(Uri)

패키지에서 지정 된 URI의 파트를 삭제 합니다.(Package에서 상속됨)

System_CAPS_pubmethodDeleteRelationship(String)

패키지 수준 관계를 삭제합니다.(Package에서 상속됨)

System_CAPS_pubmethodEquals(Object)

지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨)

System_CAPS_pubmethodFlush()

패키지에 모든 파트와 포함 된 관계의 내용을 저장 합니다.(Package에서 상속됨)

System_CAPS_pubmethodGetHashCode()

기본 해시 함수로 작동합니다.(Object에서 상속됨)

System_CAPS_pubmethodGetPart(Uri)

지정 된 URI 부분을 반환 합니다.(Package에서 상속됨)

System_CAPS_pubmethodGetParts()

패키지의 모든 부분의 컬렉션을 반환합니다.(Package에서 상속됨)

System_CAPS_pubmethodGetRelationship(String)

지정 된 식별자를 가진 패키지 수준 관계를 반환합니다.(Package에서 상속됨)

System_CAPS_pubmethodGetRelationships()

모든 패키지 수준 관계의 컬렉션을 반환합니다.(Package에서 상속됨)

System_CAPS_pubmethodGetRelationshipsByType(String)

일치 하는 모든 패키지 수준 관계의 컬렉션을 반환 하는 지정 된 RelationshipType합니다.(Package에서 상속됨)

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨)

System_CAPS_pubmethodPartExists(Uri)

지정된 된 URI 인 파트는 패키지에 있는지 여부를 나타냅니다.(Package에서 상속됨)

System_CAPS_pubmethodRelationshipExists(String)

지정 된 ID는 패키지 수준 관계는 패키지에 포함 되는지 여부를 나타냅니다.(Package에서 상속됨)

System_CAPS_pubmethodToString()

현재 개체를 나타내는 문자열을 반환합니다.(Object에서 상속됨)

이름설명
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

이 멤버는 WPF(Windows Presentation Foundation) 인프라 및 응용 프로그램 사용에 적합 하지 않습니다. 형식이 안전한을 사용 하 여 Dispose 메서드 대신 합니다.(Package에서 상속됨)

패키지.Open 메서드 ZipPackage 기본적으로 컨테이너입니다.

이 예제에는 기본을 만드는 방법을 보여 줍니다 ZipPackage합니다.

이 예에서는 패키지 수준으로 패키지의 루트 요소로 정의 된 단일 문서 부분을 포함 하는 패키지를 만듭니다 PackageRelationship합니다.

이미지 부분 및 두 번째 패키지에도 포함 되어 PackageRelationship 는 소스 문서 부분과 대상 이미지 부분 간의 연결을 정의 합니다. (이미지는 문서와 함께 사용 되는 리소스).

//  -------------------------- CreatePackage --------------------------
/// <summary>
///   Creates a package zip file containing specified
///   content and resource files.</summary>
private static void CreatePackage()
{
    // Convert system path and file names to Part URIs. In this example
    // Uri partUriDocument /* /Content/Document.xml */ =
    //     PackUriHelper.CreatePartUri(
    //         new Uri("Content\Document.xml", UriKind.Relative));
    // Uri partUriResource /* /Resources/Image1.jpg */ =
    //     PackUriHelper.CreatePartUri(
    //         new Uri("Resources\Image1.jpg", UriKind.Relative));
    Uri partUriDocument = PackUriHelper.CreatePartUri(
                              new Uri(documentPath, UriKind.Relative));
    Uri partUriResource = PackUriHelper.CreatePartUri(
                              new Uri(resourcePath, UriKind.Relative));

    // Create the Package
    // (If the package file already exists, FileMode.Create will
    //  automatically delete it first before creating a new one.
    //  The 'using' statement insures that 'package' is
    //  closed and disposed when it goes out of scope.)
    using (Package package =
        Package.Open(packagePath, FileMode.Create))
    {
        // Add the Document part to the Package
        PackagePart packagePartDocument =
            package.CreatePart(partUriDocument,
                           System.Net.Mime.MediaTypeNames.Text.Xml);

        // Copy the data to the Document Part
        using (FileStream fileStream = new FileStream(
               documentPath, FileMode.Open, FileAccess.Read))
        {
            CopyStream(fileStream, packagePartDocument.GetStream());
        }// end:using(fileStream) - Close and dispose fileStream.

        // Add a Package Relationship to the Document Part
        package.CreateRelationship(packagePartDocument.Uri,
                                   TargetMode.Internal,
                                   PackageRelationshipType);

        // Add a Resource Part to the Package
        PackagePart packagePartResource =
            package.CreatePart(partUriResource,
                           System.Net.Mime.MediaTypeNames.Image.Jpeg);

        // Copy the data to the Resource Part
        using (FileStream fileStream = new FileStream(
               resourcePath, FileMode.Open, FileAccess.Read))
        {
            CopyStream(fileStream, packagePartResource.GetStream());
        }// end:using(fileStream) - Close and dispose fileStream.

        // Add Relationship from the Document part to the Resource part
        packagePartDocument.CreateRelationship(
                                new Uri(@"../resources/image1.jpg",
                                UriKind.Relative),
                                TargetMode.Internal,
                                ResourceRelationshipType);

    }// end:using (Package package) - Close and dispose package.

}// end:CreatePackage()


//  --------------------------- CopyStream ---------------------------
/// <summary>
///   Copies data from a source stream to a target stream.</summary>
/// <param name="source">
///   The source stream to copy from.</param>
/// <param name="target">
///   The destination stream to copy to.</param>
private static void CopyStream(Stream source, Stream target)
{
    const int bufSize = 0x1000;
    byte[] buf = new byte[bufSize];
    int bytesRead = 0;
    while ((bytesRead = source.Read(buf, 0, bufSize)) > 0)
        target.Write(buf, 0, bytesRead);
}// end:CopyStream()

전체 샘플을 참조 하십시오. Writing a Package Sample합니다.

.NET Framework
3.0 이후 사용 가능

이 형식의 모든 public static(Visual Basic의 공유 Visual Basic의 경우) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전이 보장되지 않습니다.

맨 위로 이동
표시: