2011-08-17 80 views
0

任何人有任何快速的方式发送文件给用户?我可以即时生成pdf,但需要将其传递给客户端,然后删除PDF。发送文件给用户

回答

0

您可以return File(stream, contentType)return File(filename, contentType)将文件发送给用户。如果您可以直接将PDF生成为流,并避免在磁盘上创建文件,那么您就完成了。如果必须在磁盘上创建,那么您应该能够删除OnResultExecuted中的文件。

+0

如果在磁盘上,我会将它复制到MemoryStream中并在返回之前删除 - 看起来比将动作分成do/cleanup部分更清洁。 – Carsten

+0

将它复制到MemoryStream中的问题是,您必须在将内容发送给用户之前将整个文件存储在内存中。这是否是个问题取决于文件的大小以及需要处理多少个同时发生的请求。 – stevemegson

+0

是的 - 你说得对 - 但是PDF可能不会那么大......另一方面,如果它是一本书...对不起你是对的 – Carsten