我应该使用什么来将文件写入响应?我认为有两种不同的选择。选项一是将文件读入流中,然后使用
将字节写入浏览器Response.BinaryWrite(new bytes[5])
下一个选项是直接使用Response.WriteFile从文件系统中写入文件。这两种方法有什么优点/缺点?
编辑:纠正错别字
答案 0 :(得分:5)
如果您在磁盘上拥有该文件且至少使用asp.net 2.0,则首选Response.TransmitFile。
Response.WriteFile将整个文件读入内存,然后将文件写入响应。 TransmitFile "Writes the specified file directly to an HTTP response output stream without buffering it in memory."
答案 1 :(得分:4)
另一个考虑因素是这是一次写入还是经常写入的文件。如果您经常编写此文件,那么您可能希望对其进行缓存,因此Response.BinaryWrite
最有意义。
如果你有内存,我不会把它写到文件系统并使用Response.WriteFile
。