使用Asp.Net FileUpload控件保存之前上传的文件在哪里?

Kal*_*exx 2 c# asp.net webforms file-upload

我想,以确定Asp.Net和/或IIS存储文件时上传上传文件你之前所说的SaveAs()方法.

我查看了MSDN,我有点认为它在内存中并没有放在文件系统上,但是我无法在任何地方找到它明确地说明这一点.

我正在尝试向IT验证上传文件(其流传递到FTP而不调用SaveAs())将不会被我们的服务器复制系统自动复制.

Dav*_*veB 6

以下是如何更改ASP.NET 2.0 FileUpload控件的默认TempFile上载位置?

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.
Run Code Online (Sandbox Code Playgroud)

编译元素(ASP.NET设置架构)显示在上载过程中属性保存临时文件位置的compilation元素tempDirectory.