이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

Package.Open 메서드

패키지를 엽니다.

이 멤버는 오버로드됩니다. 구문, 사용법 및 예제를 비롯하여 이 멤버에 대한 자세한 내용을 보려면 오버로드 목록에서 이름을 클릭합니다.

  이름 설명
Public 메서드 정적 멤버 Open(Stream) 지정된 IO 스트림에서 패키지를 엽니다.
Public 메서드 정적 멤버 Open(String) 지정된 경로 및 파일 이름에서 패키지를 엽니다.
Public 메서드 정적 멤버 Open(Stream, FileMode) 지정된 IO 스트림 및 파일 모드를 사용하여 패키지를 엽니다.
Public 메서드 정적 멤버 Open(String, FileMode) 지정된 경로의 패키지를 지정된 파일 모드를 사용하여 엽니다.
Public 메서드 정적 멤버 Open(Stream, FileMode, FileAccess) 지정된 IO 스트림, 파일 모드 및 파일 액세스 설정을 사용하여 패키지를 엽니다.
Public 메서드 정적 멤버 Open(String, FileMode, FileAccess) 지정된 경로의 패키지를 지정된 파일 모드 및 파일 액세스 설정을 사용하여 엽니다.
Public 메서드 정적 멤버 Open(String, FileMode, FileAccess, FileShare) 지정된 경로의 패키지를 지정된 파일 모드, 파일 액세스 및 파일 공유 설정을 사용하여 엽니다.
위쪽

ZipPackage Open 메서드가 사용하는 기본 패키지 형식입니다.

자세한 내용은 OPC(Open Packaging Conventions) 사양을 참조하십시오. 이 사양은 http://go.microsoft.com/fwlink/?LinkID=71255에서 다운로드할 수 있습니다.

다음 예제에서는 PackageRelationshipPackagePart 요소를 저장된 데이터와 함께 통합하는 새 Package를 만드는 방법을 보여 줍니다. 전체 샘플을 보려면 Writing a Package 샘플을 참조하십시오.


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


커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft