這裏我試圖使用dotnetzip壓縮目錄的內容,並且我得到這個錯誤消息:URI格式不受支持。
這是我用來做到這一點的代碼。壓縮文件不支持錯誤URI格式
string strDirectoryName="http://zyx.blob.core.windows.net/myfiles/mymusic"
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(strDirectoryName);
zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G");
zip.Save("zipFileToCreate");
}
我看着回答類似的問題here。我自己也是按照相同的URL格式,那麼爲什麼我收到此錯誤。請幫我解決這個錯誤
我修改上面的代碼隨後,zip文件正在創建但已損壞。 在我的blob容器'myfiles'中,我想通過讀取myMusic文件夾中的所有文件和文件夾,同時在zip文件內保留相同的文件夾結構來創建名爲「mymusic.zip」的zip文件。以下代碼創建zip文件,但zip文件被損壞。任何建議來解決這個問題?
string ofurl = @"http://myxyzstorage.blob.core.windows.net/myfiles/mymusic";
string ofBlob = @"http://myxyz.blob.core.windows.net/myfiles";
dBlob = new CloudBlob(blobClient.GetBlobReference(ofBlob));
using (var zipFile = new ZipFile())
{
byte[] fileBytes = dBlob.DownloadByteArray();
using (var fileStream = new MemoryStream(fileBytes))
{
fileStream.Seek(0, SeekOrigin.Begin);
zipFile.AddEntry(ofurl+".zip", fileBytes);
}
var sas = offlineContainer.GetSharedAccessSignature(new SharedAccessPolicy()
{
Permissions = SharedAccessPermissions.Write,
// SharedAccessExpiryTime = DateTime.UtcNow.AddSeconds(this.timeOutSeconds)
});
using (var zipStream = new MemoryStream())
{
zipFile.Save(zipStream);
zipStream.Seek(0, SeekOrigin.Begin);
var blobRef = ofContainer.GetBlobReference(ofurl);
blobRef.UploadFromStream(zipStream);
}
}
這裏用我上面的代碼,爲什麼我的zip文件被損壞?
提供的例子使用一個接受流ZipFile.AddEntry()方法,但在我的情況下,我需要來壓縮特定的目錄 – Steve