渡されるパラメーターは次のとおりです。
`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 バイトで、ファイルの末尾から 1 バイトが欠落しています。(最後のバイトはピリオドで、サーバー上のファイルには存在しますが、この関数を介してダウンロードされたときには存在しません)。これにより、ファイルが無効になります。
バイトが欠落している理由を突き止めようと頭を悩ませていますが、誰か助けてもらえますか?