如何按顺序下载多个文件?例如:我在json上有3个文件,我想下载第一个文件,第二个文件和第三个文件。因为在我的代码中,文件同时下载,所以预先完成较小的文件大小(因此文件不是顺序的)。 我有一个问题,如何直接克服连续文件(没有延迟时间)?因为当您使用此代码时,下载第一个文件的延迟时间为几秒钟,而下一个文件在一个包中)
我的项目:Project
答案 0 :(得分:0)
同步下载怎么样?
private static final byte[] IV = new byte[16];
...
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, new IvParameterSpec(IV));
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, new IvParameterSpec(IV));
答案 1 :(得分:0)
我想说我认为强制完成订单是一个非常糟糕的主意。它可能暗示没有正确处理同步操作的代码,它会使应用程序变慢/响应速度变慢。但是,如果你想继续我认为是一个不可取的途径,你可以在你的上一个完成之前不开始下一次下载。一个例子:
async void SynchronousDownload()
{
string[] filesToDownload = new string[] {
//enter your list of download URLS here
};
Queue<DownloadOperation> downloadOperationList = new Queue<DownloadOperation>();
BackgroundDownloader downloader = new BackgroundDownloader();
foreach(string fileURL in filesToDownload)
{
string fileName = fileURL.Substring(fileURL.LastIndexOf("/") + 1);
var newFile = await DownloadsFolder.CreateFileAsync(fileName, CreationCollisionOption.GenerateUniqueName);
var x = downloader.CreateDownload(new Uri(fileURL), newFile);
downloadOperationList.Enqueue(x);
}
do
{
DownloadOperation d = downloadOperationList.Dequeue();
await d.StartAsync();
} while (downloadOperationList.Count > 0);
}
您可能没有使用DownloadManager,而是使用其他东西。应该适用相同的概念。在上面我开始下载一个文件,一旦完成,下一个文件就开始了