Я использую мультизагрузочный элемент управления вводом, и он не на стороне сервера, т.е. чистый HTML, а не asp: tagged.
Теперь проблема на стороне сервера. Я пытаюсь получить доступ к коллекции Files объекта Request, надеясь, что после загрузки элемент управления вводом поместит файлы в эту коллекцию.
Я даже импортировал некоторые сценарии в javascript, чтобы он работал, но всякий раз, когда я перебираю код, свойство Request.Files, которое должно содержать просмотренные и выбранные файлы, всегда пусто. Что я должен делать? Ooooops! извините, я не показал код:
var x = this.Page.FindControl("FileUpload1");
lbuploadmessage.Text = x.GetType().ToString();
HttpFileCollection hfc = Request.Files;
List<L2SQLData.PatientFile> list = new List<L2SQLData.PatientFile>();
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
if (hpf.ContentLength > 0 && hpf.ContentLength < 1024000)
{
string filename = Path.GetFileName(hpf.FileName);
string ext = Path.GetExtension(hpf.FileName);
var guidname = Guid.NewGuid().ToString();
//FileUpload1.SaveAs(Server.MapPath("~/Uploads/DocClerkings/") + guidname + ext);
hpf.SaveAs(Server.MapPath("~/Uploads/DocClerkings/") + guidname + ext );
lbuploadmessage.Text = "Upload status:" + hpf.FileName + " successfully uploaded!";
Как вы можете видеть, я назвал control- "FileUpload1", но во время выполнения (Debug) объект x имеет значение null, а коллекция Request.Files, которая должна содержать просматриваемые файлы, также пуста. Элемент мультизагрузки выглядит следующим образом:
<input id = "FileUpload1" type="file" class="multi"/>
с двумя сценариями, которые я добавил следующим образом:
<script src="jquery-latest.js" type="text/javascript" language="javascript"></script>
<script src="jquery.MultiFile.js" type="text/javascript" language="javascript"></script>
Так что я пропустил?
Приветствия