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 pathas 第一个参数,但它应该是directory path需要压缩的文件所在的位置。

我们改变了这样的代码,它现在可以工作了

 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 回答