以下のコードからエラーが発生しています。 エラー416要求範囲不満私のカスタムダウンロードファイルメソッド。 私のファイルは2つのpdfを持つzipファイルです。このコードはその特定のファイルのみを破壊しています。私は1つのファイルが私にこのエラーを与えている55のファイルを持っています。 Azureウェブサイトディレクトリにファイルがアップロード/ダウンロードされています。エラー416リクエストされた範囲がCで満足できない#
そのファイルの以下のプロパティウィンドウを参照してください:
これは私のコードです:
try
{
var packageId = updates[0];
var packagePath = updates[1];
var packageNameAvailable = Path.GetFileName(updates[1]);
log.Info($"Package id {packageId} | {packageNameAvailable} is available to download. ");
DownloadPackagePath = string.Format(@"{0}\{1}", ApiConfigHelper.PackageRootDirectory, packageNameAvailable);
var url = new Uri(updates[1]);
**DownloadFile(url.OriginalString, DownloadPackagePath);** // problem here
result = true;
}
catch (Exception ex)
{
log.Info("Error occurred while downloading package, stopping download. Cleaning up resources. ");
log.Error($"Error:{ex.Message}", ex);
log.Info("Cleaning up started....");
result = false;
}
DownloadFile方法:
private void DownloadFile(string sourceURL, string destinationPath)
{
long fileSize = 0;
int bufferSize = 1024;
bufferSize *= 1000;
long existLen = 0;
FileStream saveFileStream = null;
Stream resStream = null;
try
{
log.Info("Download started....");
if (File.Exists(destinationPath))
{
FileInfo destinationFileInfo = new FileInfo(destinationPath);
existLen = destinationFileInfo.Length;
log.Info($"Resuming partial downloaded file from {existLen/1024} kB started....");
}
if (existLen > 0)
{
saveFileStream = new FileStream(destinationPath, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
}
else
{
saveFileStream = new FileStream(destinationPath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
FileInfo destinationFileInfo = new FileInfo(destinationPath);
log.Info($"Starting download FileName:{destinationFileInfo.Name} Size: {destinationFileInfo.Length/1024} kB ....");
}
var httpRequest = (HttpWebRequest)WebRequest.Create(sourceURL);
httpRequest.AddRange((int)existLen);
var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
resStream = httpResponse.GetResponseStream();
fileSize = httpResponse.ContentLength;
int byteSize;
byte[] downBuffer = new byte[bufferSize];
while ((byteSize = resStream.Read(downBuffer, 0, downBuffer.Length)) > 0)
{
saveFileStream.Write(downBuffer, 0, byteSize);
}
log.Info("File downloaded successfully. Clean up started....");
}
catch
{
throw;
}
finally
{
log.Info("Cleaning up unused streams....");
if (saveFileStream != null)
{
saveFileStream.Close();
saveFileStream.Dispose();
}
if (resStream != null)
{
resStream.Close();
resStream.Dispose();
}
log.Info("DONE!!!");
}
}
あなたが助けてもらえ私を識別するg this.Myログには、 というエントリがあります.2494 KBから部分的にダウンロードされたファイルを再開しました....それだけに固執しています。 2494キロバイトから部分的にダウンロードしたファイルを再開