Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ZipPackage-Klasse

 

Veröffentlicht: Oktober 2016

Implementiert eine abgeleitete Unterklasse von der abstrakten Package Basisklasse – die ZipPackage Klasse verwendet eine ZIP-Archiv als Container Speicher. Diese Klasse kann nicht vererbt werden.

Namespace:   System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

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

public sealed class ZipPackage : Package

NameBeschreibung
System_CAPS_pubpropertyFileOpenAccess

Ruft der Dateizugriff für das Paket festlegen.(Geerbt von „Package“.)

System_CAPS_pubpropertyPackageProperties

Ruft die Haupteigenschaften des Pakets ab.(Geerbt von „Package“.)

NameBeschreibung
System_CAPS_pubmethodClose()

Speichert und schließt das Paket sowie alle zugrunde liegenden Teil Streams.(Geerbt von „Package“.)

System_CAPS_pubmethodCreatePart(Uri, String)

Erstellt ein neues dekomprimiert Teil mit einem angegebenen URI und den Inhaltstyp an.(Geerbt von „Package“.)

System_CAPS_pubmethodCreatePart(Uri, String, CompressionOption)

Erstellt ein neues Teil mit einem angegebenen URI, den Inhaltstyp und die Komprimierungsoption.(Geerbt von „Package“.)

System_CAPS_pubmethodCreateRelationship(Uri, TargetMode, String)

Erstellt eine Beziehung auf Paketebene zu einem Webpart mit einem angegebenen URI, den Zielmodus und den Beziehungstyp.(Geerbt von „Package“.)

System_CAPS_pubmethodCreateRelationship(Uri, TargetMode, String, String)

Erstellt eine Beziehung auf Paketebene zu einem Webpart mit einem angegebenen URI, Zielmodus, Beziehungstyp, und Bezeichner (identifier; ID).(Geerbt von „Package“.)

System_CAPS_pubmethodDeletePart(Uri)

Löscht einen Teil mit einem angegebenen URI aus dem Paket.(Geerbt von „Package“.)

System_CAPS_pubmethodDeleteRelationship(String)

Löscht eine Beziehung auf Paketebene.(Geerbt von „Package“.)

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodFlush()

Speichert den Inhalt aller Teile und Beziehungen, die enthalten sind im Paket.(Geerbt von „Package“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetPart(Uri)

Gibt den Teil mit einem angegebenen URI zurück.(Geerbt von „Package“.)

System_CAPS_pubmethodGetParts()

Gibt eine Auflistung aller Teile im Paket zurück.(Geerbt von „Package“.)

System_CAPS_pubmethodGetRelationship(String)

Gibt die Beziehung auf Paketebene zu einem angegebenen Bezeichner zurück.(Geerbt von „Package“.)

System_CAPS_pubmethodGetRelationships()

Gibt eine Auflistung aller auf Paketebene Beziehungen.(Geerbt von „Package“.)

System_CAPS_pubmethodGetRelationshipsByType(String)

Gibt eine Auflistung von alle Beziehungen auf Paketebene, die entsprechen einem bestimmten RelationshipType.(Geerbt von „Package“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodPartExists(Uri)

Gibt an, ob ein Teil mit einem angegebenen URI im Paket enthalten ist.(Geerbt von „Package“.)

System_CAPS_pubmethodRelationshipExists(String)

Gibt an, ob eine Beziehung auf Paketebene mit einer angegebenen ID im Paket enthalten ist.(Geerbt von „Package“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Dieser Member unterstützt die Windows Presentation Foundation (WPF) Infrastruktur und ist nicht für die Anwendungsverwendung vorgesehen. Verwenden Sie die typsicheren Dispose Methode stattdessen.(Geerbt von „Package“.)

Die Paket.Open -Methode verwendet ZipPackage Container standardmäßig.

In diesem Beispiel wird gezeigt, wie zum Erstellen einer grundlegenden ZipPackage.

Das Beispiel erstellt ein Paket, das ein einzelnes Dokumententeil enthält, die durch eine Paketebene als Stammelement für das Paket festgelegt sind PackageRelationship.

Das Paket enthält auch ein Bild Teil und einen zweiten PackageRelationship definiert eine Zuordnung zwischen den Dokumentteil Quelle und Ziel-Image-Teil. (In der Abbildung ist eine Ressource, die mit dem Dokument verwendet wird).

//  -------------------------- 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()

Das vollständige Beispiel finden Sie unter Writing a Package Sample.

.NET Framework
Verfügbar seit 3.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: