По причинам, не связанным с этим вопросом, у меня не может быть формы на этой странице с атрибутом runat="server"
.
Как мне получить доступ к загруженному файлу, загруженному с использованием обычного <input type="file"...
?
Этот вопрос затрагивает проблему (используя <input type="file"
вместо <asp:FileUpload
), однако оба они все еще runat = server.
Типы вещей, которые я хотел быхотел бы иметь возможность получать (на стороне сервера после публикации формы), включая:
if (MyInput.HasFile) ...
var fileName = MyInput.FileName;
var fullPathAndFile = MyInput.PostedFile.FileName;
var mimeType = MyInput.PostedFile.ContentType;
Я уверен, что все это можно сделать, я просто привык. NET позаботиться обо всем этом для меня!
Обновление: после проницательных комментариев ниже я, кажется, что-то делаю странным образом ...
Я изначально искал что-то вроде:
HttpPostedFile file = Request.Files["myFile"];
//accessing the file without having the element itself being runat="server", e.g. manually through the Request.
//(I know this doesn't work without runat="server", just an example to clarify my question)
//if(MyFile.HasFile) ...
if (file != null && file.ContentLength) ...
//var fName = MyFile.FileName
var fName = Path.GetFileName(file.FileName);
Но, похоже, даже это требует runat="server"