在您调用SaveAs()
方法之前,我试图确定在您上传文件 BUT 时Asp.Net和/或IIS存储文件的上传位置。
我查看了MSDN,我有点认为它在内存中并没有放在文件系统上,但是我无法在任何地方找到它明确地说明。
我正在尝试向IT验证上传文件(其流传递给FTP而不调用SaveAs()
)将不会被我们的服务器复制系统自动复制。
答案 0 :(得分:6)
以下内容来自How to change the default TempFile upload location for the ASP.NET 2.0 FileUpload control?
Dumping out the HttpRawUploadedContent from a memory dump, I can see that the file is buffered in the C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\fileupload20\d909613c\d78e07ba\uploads files folder and is called f-zqaz-r.post
0:008> !do 017c3fbc
Name: System.Web.HttpRawUploadedContent+TempFile
MethodTable: 68a870e0
EEClass: 68a87070
Size: 20(0x14) bytes
GC Generation: 0
(C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll)
Fields:
MT Field Offset Type VT Attr Value Name
7a754a14 4000fb0 4 ...empFileCollection 0 instance 017c4944 _tempFiles
790fa3e0 4000fb1 8 System.String 0 instance 017c54e4 _filename
790fe3c8 4000fb2 c System.IO.Stream 0 instance 017c55f8 _filestream
0:008> !do 017c54e4
Name: System.String
MethodTable: 790fa3e0
EEClass: 790fa340
Size: 262(0x106) bytes
GC Generation: 0
(C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
String: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\fileupload20\d909613c\d78e07ba\uploads\f-zqaz-r.post
If you want to change the default location, The tempDirectory attribute of the <compilation> element allows you to specify the directory to use for temporary file storage during compilation. The default is an empty string (""). In the case of an empty string, and if the current process has the required access permissions, the files are stored in the %FrameworkInstallLocation%\ Temporary ASP.NET Files directory.
compilation Element (ASP.NET Settings Schema)显示compilation
元素,其中tempDirectory
属性在上传过程中保存临时文件的位置。