下面是代码,下载下来的文件固定占用大小8K,内容大小7.14K,小于这个仍然是那么多不过小于这个大小的文件可用。能看出是什么问题吗?private void DownLoad()
{
/*读取数据库文件流,保存到本地*/
int id;
byte[] file;//二进制数据
string fileName;//目标文件 if (int.TryParse(this.Request.QueryString["Id"], out id))
{
MyDocument document = this.documentService.GetDocument(id);
if (document != null)
{
fileName = document.FileName;
file = document.FileContent; //MemoryStream stream = new MemoryStream(file); FileStream fs_stream = new FileStream(fileName, FileMode.OpenOrCreate); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName)); BinaryWriter writefile = new BinaryWriter(fs_stream); writefile.Write(file); writefile.Close();
}
}
}
{
/*读取数据库文件流,保存到本地*/
int id;
byte[] file;//二进制数据
string fileName;//目标文件 if (int.TryParse(this.Request.QueryString["Id"], out id))
{
MyDocument document = this.documentService.GetDocument(id);
if (document != null)
{
fileName = document.FileName;
file = document.FileContent; //MemoryStream stream = new MemoryStream(file); FileStream fs_stream = new FileStream(fileName, FileMode.OpenOrCreate); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName)); BinaryWriter writefile = new BinaryWriter(fs_stream); writefile.Write(file); writefile.Close();
}
}
}
{
String FullFileName = Server.MapPath( "文件路径 ");
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream ";
Response.AppendHeader( "Content-Disposition ", "attachment;filename= " + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
Response.AppendHeader( "Content-Length ", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
所以String FullFileName = Server.MapPath(“文件路径”),这个文件路径我该怎么指定啊?求解
FileStream fs_stream = new FileStream(fileName, FileMode.OpenOrCreate);BinaryWriter writefile = new BinaryWriter(fs_stream);writefile.Write(file);这样这个流的大小始终为页面大小。去掉后正常。