Где находится загруженный файл до его сохранения при использовании элемента управления Asp.Net FileUpload? - PullRequest
2 голосов
/ 04 февраля 2012

Я пытаюсь определить, куда загружаются файлы из хранилища Asp.Net и / или IIS при загрузке файла НО перед вызовом метода SaveAs().

Я посмотрел на MSDN и у меня возникла мысль, что он находится в памяти, а не помещен в файловую систему, но я не могу его найти нигде, он говорит это явно.

Я пытаюсь убедиться в том, что загруженные файлы (потоки которых передаются на FTP без вызова SaveAs()) не будут автоматически реплицироваться нашей системой репликации серверов.

1 Ответ

6 голосов
/ 04 февраля 2012

Следующее от Как изменить расположение загрузки TempFile по умолчанию для элемента управления ASP.NET 2.0 FileUpload?

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.

Элемент компиляции (схема настроек ASP.NET) показывает элемент compilation, где атрибут tempDirectory содержит расположение временных файлов во время загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...