C# 如何保存HttpPostedFile

C# 如何保存HttpPostedFile,c#,asp.net,session,file,httppostedfile,C#,Asp.net,Session,File,Httppostedfile,在这种情况下,用户可能会上载文件并触发垃圾邮件过滤器。如果它确实触发了垃圾邮件过滤器,我会保存所有帖子数据并显示验证码。如果会话超时时“bot”未成功,则HttpPostedFile数据(包括上载的文件)应丢弃 我假设我不想将上传的数据放入会话(可能只有几Kb,但可能是20mb+)。因此,我如何高效、正确地存储/丢弃这些数据将文件保存在一个安全的目录中(没有从站点执行或访问的权限),可能使用guid作为文件名,然后将该guid存储在会话中。这样,在验证码之后,您可以返回并从目录中获取文件 您可以

在这种情况下,用户可能会上载文件并触发垃圾邮件过滤器。如果它确实触发了垃圾邮件过滤器,我会保存所有帖子数据并显示验证码。如果会话超时时“bot”未成功,则HttpPostedFile数据(包括上载的文件)应丢弃


我假设我不想将上传的数据放入会话(可能只有几Kb,但可能是20mb+)。因此,我如何高效、正确地存储/丢弃这些数据将文件保存在一个安全的目录中(没有从站点执行或访问的权限),可能使用guid作为文件名,然后将该guid存储在会话中。这样,在验证码之后,您可以返回并从目录中获取文件


您可以在成功/失败时清理此目录,也可以运行作业来删除超过某个时间段的任何内容。

请记住,默认情况下,ASP.Net的最大请求大小为4MB。如果您需要上载大于该值的文件,则必须在web.config中更改配置。