在Azure本地存储下压缩文件时出错“目录名称无效”

时间:2014-02-28 04:44:57

标签: c# azure zip angular-local-storage

尝试在Azure Local Storage下压缩文件时出现错误。 我正在尝试将.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;

2 个答案:

答案 0 :(得分:0)

不是连接destFilePath,为什么不能像下面那样使用。

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

将为您提供所需文件的正确路径。

答案 1 :(得分:0)

我们解决了这个问题。我们将file path作为第一个参数传递,但它应该是directory path所需的zip文件。

我们更改了这样的代码,现在可以正常使用

 System.IO.Compression.ZipFile.CreateFromDirectory(sourceDirectory, destFilePath, CompressionLevel.Fastest, false);  // <--- Exception here