现在用户上传了很多附件(不限制是什么文件类型的),这些文件都是以二进制的形式存储在数据库中的一张表中的。。现在我想让用户在浏览附件信息的时候时候直接从数据库中读取文件内容,然后直接让他下载到客户端。。第一次我没有设置MIME类型
直接用
                Response.Clear();
                Response.BinaryWrite(m_Attachement.FileBin);
                Response.End();
这样txt格式的附件能将内容直接显示在浏览器中,其它的为乱码后来我加了一句代码
                Response.Clear();
                Response.ContentType = m_Attachement.ContentType;
                Response.BinaryWrite(m_Attachement.FileBin);
                Response.End();
这时出现了很多异常
最后我使用下面的代码
                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + m_Attachement.FileAttachmentName);
                Response.Charset = "GB2312";
                Response.BinaryWrite(m_Attachement.FileBin);
                Response.End();
能下载了,但是存在两个问题,一个问题是零长度的文档(比如我在桌面上随便建立一个空的txt文档),能传到数据库里面去,但是读出来的时候会出现异常,另外一个问题是如果文件名为中文的话,下载的提示框中保存文件名显示的是乱码。高人能给指点一下不???