Рейтинг блогов

NeatUpload 1.2.24

дата добавления: 15 октября 2007 / 04:28, просмотров: 4477, комментариев: 2
Компонент для ASP .NET, представляет собой ProgressBar загрузки файлов на сервер. Позволяет отображать ProgressBar загрузки файла в отдельном окне, либо в том же окне с использованием фрейма.
Довольно неплохой компонент, хотя для новичков может показаться сложным.

Разработчик: Brettle Development
Сайт разработчика: http://www.brettle.com/
Демо: http://www.brettle.com/Demo.aspx

Для тех, кто не сможет его развернуть с первого раза, вот небольшая справка:

1. Скопируйте файл Brettle.Web.NeatUpload.dll в папку Bin вашего Web-проекта. Файл Brettle.Web.NeatUpload.HashedInputFile.dll тоже можете туда скопировать, пригодится на будущее ;)

2. Скопируйте папку NeatUpload и файлы Demo.aspx и Demo.cs в корень вашего Web-проекта.

3. Откройте файл web.config и добавьте следующие параметры:

<configSections>
  <!--Brettle.Web.NeatUpload-->
  <sectionGroup name="system.web">
  <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />
  </sectionGroup>
  <!--// Brettle.Web.NeatUpload-->
</configSections>

<system.web>
  <httpRuntime maxRequestLength="51200" useFullyQualifiedRedirectUrl="true" />
  <httpModules>
    <!--Brettle.Web.NeatUpload-->
    <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />
    <!--// Brettle.Web.NeatUpload-->
  </httpModules>
  <!--Brettle.Web.NeatUpload-->
  <neatUpload useHttpModule="true" maxNormalRequestLength="4096" maxRequestLength="2097151" defaultProvider="FilesystemUploadStorageProvider">
    <providers>
      <add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload" />
    </providers>
  </neatUpload>
  <!--// Brettle.Web.NeatUpload-->
</system.web>

<!--Brettle.Web.NeatUpload-->
<location path="Demo.aspx">
  <system.web>
    <neatUpload useHttpModule="true" />
    <httpRuntime maxRequestLength="2097151" executionTimeout="3600" useFullyQualifiedRedirectUrl="true" />
  </system.web>
</location>
<!--// Brettle.Web.NeatUpload-->

Обратите внимание на параметр maxRequestLength в секции httpRuntime – здесь он имеет значение 51200, это максимальный размер файла в килобайтах, который можно загрузить на сервер, в данном случае 50 Мб.

С остальными параметрами, думаю, разберетесь сами.

4. Ну и на закуску, загрузка файла на сервер:

На странице регистрируем контрол:

<%@ Register TagPrefix="Upload" Namespace="Brettle.Web.NeatUpload" Assembly="Brettle.Web.NeatUpload" %>

Затем размещаем его в нужном месте на странице:

<Upload:InputFile id="inputFile" runat="server" Width="300" />
<asp:RegularExpressionValidator ID="rev" runat="server"
Display="Dynamic" ControlToValidate="inputFile"
ValidationExpression=".+?.((rar)|(zip)|(exe)"
ErrorMessage="<br />допускаются только файлы в формета: .rar, .zip, .exe"
/>

<Upload:ProgressBar id="progressBar" runat="server" Triggers="submitButton commandButton htmlInputButtonButton htmlInputButtonSubmit" />

<asp:Button ID="btnSave" runat="server" Text="Сохранить" OnClick="btnSave_Click" />

Далее, в коде:

inputFile.MoveTo(System.IO.Path.Combine(Server.MapPath("~/Upload", inputFile.FileName), Brettle.Web.NeatUpload.MoveToOptions.Overwrite);

Вот, и все.


Файлы (всего: 1)

+ NeatUpload 1.2.24 (927.15 Kb)

Комментарии (всего: 2)

Добавить комментарий rss
Автор: Ildar @ 06 мая 2008, 13:16   ·   ссылка
как я понял контрол классный, нотолько у меня не получилось использовать его для решение следующей задачи: нужно редиректить пользователя на собственную страницу ошибки если он пытается залить файл больше определенного размера, не мог подсказать как это сделать.
Заранее спасибо
Автор: Алексей Немиро @ 07 мая 2008, 07:47   ·   ссылка
см. свойство ContentLength, в нем размер файла в байтах указан.

Добавить комментарий

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учётная запись на этом сайте, пройдите процудуру авторизации.
В противном случае, зарегистрируйтесь на сайте.