我使用BackgroundTransferRequest
逐个下载多个音频文件,部分下载量可达70 MB。我想在下载之前压缩这些音频文件(从Google驱动器下载多个文件时也一样)。
为了说清楚,我不想将zip文件存储在隔离存储中,我只需要动态压缩音频文件,然后使用BackgroundTransferRequest
下载压缩版本,最后将其解压缩
谢谢!
答案 0 :(得分:0)
除非您从自己的网络服务下载,否则您无法压缩尚未下载的内容?
如果您是,.NET提供了GZipCompression类来处理ZIP文件。
答案 1 :(得分:0)
我使用Ionic.Zip库制作zip文件:
这是压缩文件的示例:
string audiofile = AppDomain.CurrentDomain.BaseDirectory;
using (Ionic.Zip.ZipFile zipFile = new Ionic.Zip.ZipFile())
{
using (MemoryStream tempstream = new MemoryStream())
{
string fileName = "song.mp3";
string filepath = audiofile + "song.mp3";
byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
zipFile.AddEntry(fileName, fileBytes);
}
}
Guid g = new Guid();
g = Guid.NewGuid();
string path = audiofile + "Temp\\" + g.ToString() + ".Zip";
zipFile.Save(path);
// RETURN FILE USING YOUR BACKGROUNDTRANSFERREQUEST HERE with the path-variable
}