2013-02-04 2 views
0

의 DotnetZip 문제로 인해이 문제가 발생하여 지금은 알 수 없습니다. 나는 이미 패치 된 Ionic.zip을 "http://dotnetzip.codeplex.com/workitem/14049"에서 가져 왔습니다.실버 라이트 (lightswitch)

ionic.zip을 사용하여 실버 라이트가 아닌 프로젝트에서 내 코드를 테스트했습니다. 하지만 silverlight (lightswitch) 코드를 수정할 때 'IBM437'오류가 발생합니다. 여기

내 코드 내가 "IBM437"입니다, 또는 코드에서 그런 일이 어디하지 않도록 오류 해요

void selectFileWindow_Closed(object sender, EventArgs e) 
{ 
    SelectFileWindow selectFileWindow = (SelectFileWindow)sender; 
    string selectFileStream = sender.ToString(); 
    var parsedString = selectFileStream.Split(','); 

    if (selectFileWindow.DialogResult == true && (selectFileWindow.myStream != null)) 
    { 
     foreach (FileStream myZippedStream in selectFileWindow.myStream) 
     { 
      string zippedLocation = myZippedStream.Name; 
      var parsedLocation = zippedLocation.Split('\\'); 
      string fileName = parsedLocation[parsedLocation.Length - 1]; 
      //filename is equal to something like "myfile.zip" 
      // We want to turn that to "myfile.txt) 
      fileName = (fileName.Substring(0, fileName.Length - 3)) + "txt"; 

      using (FileStream fs = File.Create("c:\\temp\\gftTempFile.txt")) 
      { 
       using (var ms = new MemoryStream()) 
       { 
        //ReadOptions myOptions = new ReadOptions(); 
        //myOptions.Encoding = System.Text.Encoding.UTF8; 
        //using (ZipFile myZip = ZipFile.Read(myZippedStream, myOptions)) 
        // I have tried using the commentted code but it gives the same error 
        using (ZipFile myZip = ZipFile.Read(myZippedStream)) 
        { 
         ZipEntry myEntry = myZip[fileName]; 
         myEntry.Extract(ms); 

         ms.WriteTo(fs); 
         fs.Close(); 

         ImportGift.importGift(fs, this.DataWorkspace); 

         try 
         { 
          fs.Close(); 
          fs.Dispose(); 
          ms.Close(); 
          ms.Dispose(); 
          File.Delete("c:\\temp\\gftTempFile.txt"); 
         } 
         catch { } 
        } 
       } 
      } 
     } 
     doneLoading = true; 
    } 
} 

답변

0

모습입니다,하지만 난 실버 라이트에 당신을 허용하지 않는 것을 알고있다 먼저 SelectFileWindow를 표시하지 않고 코드에서 파일 시스템에 액세스합니다.

즉, 하드 코드 된 "c : \ temp \ gftTempFile.txt"가있는 행은 권한 상승없이 SL 응용 프로그램에서 제대로 작동하지 않습니다.