2014-09-07 5 views
0

Как я могу получить список всех загруженных файлов? Я хочу перечислить файлы в раскрывающемся списке, чтобы пользователь мог выбрать, какой файл распаковать, из раскрывающегося списка. я следующий код:Получить загруженные файлы

var path = Server.MapPath(Project.DataDirectoryPath); 
string valueShownInDropDownList = dropDown.selectedValue+".zip"; (The value of uploaded file should be shown here) 
var targetToExtract = string.format("{0}/FileBrowser/TestProj/files,projectPath"); 

using (ZipFile z = ZipFile.Read(targetToExtract.toString()))) 
{ 
    entry. Extract(targetToExtract); 

} 

ответ

0

Это, как вы получите список каталога:

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="true" runat="server"> 
    <asp:ListItem Text="--Select Files--" Value="0" /> 
</asp:DropDownList> 

стороне сервера будет:

var exDir = @"c:\temp\directory"; 
    DirectoryInfo dir = new DirectoryInfo(exDir); 

    foreach (FileInfo exFile in dir.GetFiles()) 
    { 
      ListItem lst = new ListItem ( xFile.FullName , "0"); 

     DropDownList1.Items.Insert(DropDownList1.Items.Count-1 ,lst); 

    } 

О выборе любого файла, должен отправить назад и загрузить файл с помощью объекта Response.

Response.ContentType = "application/<type of file>"; 
    Response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", fileName)); 
... 
+0

Ваша помощь помогла решить мою проблему, спасибо. К сожалению, у меня недостаточно очков, чтобы дать вам голос ... Но почему я должен возвращать и загружать с помощью объекта Response? Это из соображений безопасности? – States

+0

Вам не нужно, если вы можете попасть на сервер без обратной связи. Я не знаю, используете ли вы jQuery или любую методологию вызова Ajax. Если в случае, если вы не знаете jQuery, попробуйте использовать плагин jquery fildownload (http://tinyurl.com/nur5qhg). Вам нужно будет добавить ссылку на jquery и этот плагин. Затем на стороне клика при изменении значения раскрывающегося списка вызывается этот метод из события изменения jscript вашего раскрывающегося списка: $ .fileDownload ('/ url/to/download.pdf'); В противном случае вы можете использовать httphandler. Посмотрите на эту ссылку, это даст вам представление: http: //tinyurl.com/nkymv27 -Glad Я мог бы вам помочь! – codebased

+0

Если вы можете реализовать вызов $ .ajax из jquery, значит, вы хотите улучшить свои навыки программирования, внедряя гибкую разработку. Таким образом, вы можете еще больше улучшить получение сведений о файлах с клиентской стороны и установить падение через Ajax.http: //tinyurl.com/lo9l8bc – codebased

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