2012-06-01 8 views
1

Я установил многопользовательскую загрузку asp.net, и она работает, но не так, как я ожидал.Загрузка нескольких файлов Asp.Net

На моей странице у меня есть 2 изображения закачивающих как так

<input type="file" id="gallery" class="multi" accept="jpg" runat="server" /> 

<input type="file" id="pic1" accept="jpg" runat="server" /> 

Моя проблема в том, когда я загрузить его использует этот код

Dim hfc As HttpFileCollection = Request.Files 

Чтобы получить все файлы, которые были размещены, но я только gallery изображений для данного конкретного метода.

У меня есть другой способ загрузить другое изображение.

Я попытался изменить его к следующему

Dim hfc As HttpFileCollection = Request.Files("gallery") 

Но я получаю сообщение об ошибке

Значение типа «System.Web.HttpPostedFile» не может быть преобразован в «System.Web. HttpFileCollection.

Любые идеи, как я могу это сделать?

Благодаря

EDIT

Вот полный кусок кода, я работаю с

Dim hfc As HttpFileCollection = Request.Files("gallery") 
For i As Integer = 0 To hfc.Count - 1 
Dim hpf As HttpPostedFile = hfc(i) 
If hpf.ContentLength > 0 Then 
    hpf.SaveAs(Server.MapPath("/images/" & i & ".jpg")) 
End If 
Next i 

Когда я использую код от ответа ниже я получаю сообщение об ошибке говорящее

«Count» не является членом «System.Web.HttpPostedFile».

EDIT 2

Это работает с загрузкой все мои изображения

Dim hfc As HttpFileCollection = Request.Files 
For i As Integer = 0 To hfc.Count - 1 
Dim hpf As HttpPostedFile = hfc(i) 
If hpf.ContentLength > 0 Then 
hpf.SaveAs(Server.MapPath("/images/" & i & ".jpg")) 
End If 
Next i 

Но это будет загружать каждое изображение - Я просто хочу, чтобы загрузить файлы, размещенные с

<input type="file" id="gallery" class="multi" accept="jpg" runat="server" />

а не этот

<input type="file" id="pic1" accept="jpg" runat="server" /> 

ответ

0

Request.Files("gallery") является недействительным, как св свойством не метод.

Вы можете получить Отправленный файл из входа в галерею, запросив значение «Добавить», а затем сохранить в файловую систему, как вы делали.

Dim hfc As System.Web.HttpPostedFile = gallery.PostedFile 
If hpf.ContentLength > 0 Then 
    hpf.SaveAs(Server.MapPath("/images/GalleryImage.jpg")) 
End If 

Возможно, вы можете сделать имя файла любым, что пожелаете.

+0

Привет - Я использую это для загрузки нескольких изображений. Я добавил редактирование, показывающее некоторый дополнительный код, который я использую. –

+0

В настоящий момент я довольно смущен всей этой штукой - все, чего я пытаюсь достичь, - это загрузить несколько файлов со страницы, на которой есть другие отдельные загрузки файлов, - кажется, это так сложно! Спасибо за помощь до сих пор :) –

+0

Посмотрите мое обновление - Загрузка всех изображений со страницы вместо тех, которые я отправляю из галереи, если это имеет смысл? –

Смежные вопросы