Передаваемые параметры:TransmitFile отсутствует один байт от конца файла
`C:\Licenses\testfolder\PERSONAL-Wednesday 04 July-0405.txt`,`c2license.txt`
И функция:
/// <summary>
/// Starts serving the download
/// </summary>
public static void InitStoreDownload(string filePath, string serveFileName)
{
// Get size of file
var f = new FileInfo(filePath);
var fileSize = f.Length;
var extension = f.Extension;
var context = HttpContext.Current;
context.Response.Clear();
context.Response.Buffer = false;
// Correct mime type
if (extension.Equals(".zip", StringComparison.CurrentCultureIgnoreCase))
context.Response.ContentType = "application/octet-stream";
else if (extension.Equals(".txt", StringComparison.CurrentCultureIgnoreCase))
{
context.Response.ContentType = "text/plain";
}
context.Response.AddHeader("Content-Disposition", "attachment; filename=" + serveFileName);
context.Response.AddHeader("Content-Length", fileSize.ToString());
context.Response.TransmitFile(filePath);
context.Response.Close();
context.Response.End();
}
C:\Licenses\testfolder\PERSONAL-Wednesday 04 July-0405.txt
файл на сервере длиной 475 байт.
Файл, загруженный при использовании этого скрипта, составляет 474 байта, при этом отсутствует один байт с конца файла. (Последний байт является полной остановкой, присутствующей в файле на сервере, но не присутствующим при загрузке через эту функцию). Это приводит к тому, что файл становится недействительным.
Мы почесываем головы, пытаясь понять, почему байт отсутствует, может ли кто-нибудь помочь?
Что произойдет, если вы не указали явный заголовок 'Content-Length'? – user1429080