1

Azure ローカル ストレージでファイルを圧縮しようとすると、エラーが表示されます。.ps1ファイルを圧縮しようとしています<filename>.ps1.zipが、エラーが発生します

ディレクトリ名が無効です。

コード:

       string scriptPath = Path.Combine(fileDirectoryPath, fileName);
       string destFilePath = string.Empty;
       List<string> zipFolderDetails = new List<string>();

       if (!File.Exists(scriptPath))
       {
           throw new Exception(string.Format("ZipFile : No file exists in the source path {0}", fileName));
       }

       string newDirectoryPath = Path.Combine(Utilities.GetLocalDirectoryScriptPath(), Guid.NewGuid().ToString());

       zipFolderDetails.Add(newDirectoryPath);      
       Directory.CreateDirectory(newDirectoryPath);        
       destFilePath = newDirectoryPath + @"\" + fileName + ".zip";

       zipFolderDetails.Add(destFilePath);        
       //// Zipping the script file
       System.IO.Compression.ZipFile.CreateFromDirectory(scriptPath, destFilePath, CompressionLevel.Fastest, false);  // <--- Exception here      
       return zipFolderDetails;
4

2 に答える 2

0

問題を整理しました。file path最初のパラメーターとしてを渡しましたがdirectory path、zip する必要があるファイルが存在する場所である必要があります。

このようにコードを変更したところ、現在は機能しています

 System.IO.Compression.ZipFile.CreateFromDirectory(sourceDirectory, destFilePath, CompressionLevel.Fastest, false);  // <--- Exception here
于 2014-02-28T05:36:00.740 に答える
0

を連結する代わりに、destFilePath以下のように使用できないのはなぜですか。

destFilePath = Path.Combine(newDirectoryPath,fileName + ".zip");

これにより、必要なファイルの正しいパスが得られます。

于 2014-02-28T04:50:59.990 に答える