在这里,我尝试使用dotnetzip压缩目录的内容,并且收到此错误消息:不支持 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");
}
我在这里查看了类似问题的答案。我也遵循相同的 url 格式,那么为什么我会收到这个错误。请帮我解决这个错误
我将上面的代码修改如下,并且 zip 文件正在创建但已损坏。在我的 blob 容器“myfiles”中,我想创建一个名为“mymusic.zip”的 zip 文件,方法是读取 myMusic 文件夹中的所有文件和文件夹,同时在 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 文件损坏了?