我正在建立一个门户,允许用户上传文件。我需要确保这些文件不包含病毒。我理想的解决方案是让主机OS AV监视临时文件夹并扫描所有传入文件。
在ASP.Net 2中上载文件时,该文件是否被写入到临时文件夹中的磁盘中,还是保留在内存中?如果将其写入磁盘,IIS是否将其锁定,以使AV无法将其删除?如果将其写入磁盘,在哪里?
最佳答案
我认为理想的方法是拥有一个“传入”文件夹,该文件夹已被授予ASP.NET保存文件的必要权限。我从未遇到过即使您在FileUpload控件上调用SaveAs
后文件仍保持锁定状态的情况。
请注意,在您调用SaveAs
之前,FileUpload控件不会上载文件,这是文件被持久保存到服务器上的磁盘时。它似乎将所有文件内容保存在HttpInputStream
中,当调用SaveAs
方法时,该文件将写入磁盘。
然后,文件应可以免费被AV应用程序扫描。万一发生错误,您可以向用户提供相关反馈。
关于asp.net - ASP.Net 2中上传的文件在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/519542/