2017-12-16 29 views
0

내가 SharpZipLib을 사용하고 3 개 파일 삽입 암호로 보호 된 zip 파일을 만드는거야 : Demo.xml SharpZipLib 및 ziparchive 개방 문제

  • Code.pdf
  • file.htm은
    • 을 다음 코드를 사용하여

      을 사용하십시오.

      Protected _file As ZipFile 
      
          Public Sub New(ByVal pathName As String) 
           If Not File.Exists(pathName) Then 
            Try 
             _file = ZipFile.Create(pathName) 
            Catch ex As Exception 
            End Try 
           Else 
            Try 
             _file = New ZipFile(pathName) 
            Catch ex As Exception 
            End Try 
           End If 
          End Sub 
      
          Public Sub Insert(ByVal name As String, 
               ByVal streamFile As Stream) 
      
           Dim sds As New CustomStaticDataSource 
           sds.SetStream(streamFile)   
      
           Try 
            _file.BeginUpdate() 
            _file.Add(sds, name)     
            _file.CommitUpdate() 
           Catch ex As Exception 
            Throw 
           End Try 
      
          End Sub 
      
          Private Class CustomStaticDataSource 
           Implements IStaticDataSource 
      
           Private _stream As Stream 
           Public Function GetSource() As Stream Implements IStaticDataSource.GetSource 
            Return _stream 
           End Function 
      
           Public Sub SetStream(inputStream As Stream) 
            _stream = inputStream 
            _stream.Position = 0 
           End Sub 
          End Class 
      

      파일은 창 및 7zip으로 열리고 압축 해제 될 수 있습니다.

      내가 열려고하면 정기적으로 실패하는 Windows의 C++ 응용 프로그램에서 첫 번째 파일을 추출하려고하는데 ziparchive을 사용하고 있습니다.

      Ziparchive는 crc, 압축 및 원본 크기의 일관성을 검사하여 손상된 것으로 감지합니다.

      압축되지 않은 크기가 올바르게 감지되지 않지만 항상 04034b50 (십진수 67324752)으로 감지된다는 것이 문제입니다.

      이 문제를 해결하기 위해 설정해야 할 옵션이 있습니까?

    +0

    downvoter : .NET 코드가 있지만 정책으로 인해 C++ 코드를 추가 할 수 없습니다. –

    답변

    0

    ziparchive로 확인되고 해결 된 문제