Вопрос по file-upload – Как установить NeatUpload?

3

Salvete! В поисках качественного бесплатного элемента управления загрузкой asp.net/ajax я обнаружил NeatUpload. Я не могу найти онлайн-демо для него, но пакет загрузки идет с демо. Мне нужна помощь в установке на моем сервере (Windows Server 2008).

Я следовал инструкциям наhttp://mumblestiltskin.blogspot.com/2009/10/using-neatupload-simple-setup.html (они в основном совпадают с указаниями в manual.htm, который поставляется с двоичным пакетом NeatUpload).

Пока у меня есть

Successfully installed Brettle.Web.NeatUpload.dll to the GAC using gacutil. Added the reference in my web.config (with version and guid) copied the demo file and its code-behind to my web application (which is registered in iis7)

Теперь, когда я перехожу на страницу, я получаю ошибку сервера asp.net на

<code>Line 35: protected MultiFile multiFile;
Line 36: protected MultiFile multiFile2;
Line 37: protected InputFile inputFile;
</code>

а также

<code>error CS0246: The type or namespace name 'MultiFile' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'MultiFile' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'InputFile' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'InputFile' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'ProgressBar' could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name 'ProgressBar' could not be found (are you missing a using directive or an assembly reference?)
</code>

Что мне теперь делать? Нужно ли где-нибудь копировать другую dll или определенные файлы? Я не могу понять это из документации.

Ваш Ответ

1   ответ
5

Догадаться! Я внедряю элемент управления в веб-приложение sharepoint. (Ниже рассмотрим SPVD как «Виртуальный каталог приложения Sharepoint».) Если вы не развертываете на веб-сайте Sharepoint, вы будете использовать корень виртуального каталога вашего веб-приложения, в котором я использовал Sharepoint. Вот шаги, которые я выполнил, чтобы демонстрационная страница работала на моем сервере.

Во-первых, конфигурация отличается, если вы используете «веб-приложение». вместо "веб-сайта". Я не буду вдаваться в разницу здесь. Но в моем примере я настраиваю простой «веб-сайт». Мне пришлось:

  • Copy Brettle.Web.NeatUpload.dll into the GAC on the server (it seems that on Windows Server 2008, you don't have to use the gacutil - just copy the dll into %windir%\assembly. Also note that you must do this on the server; it doesn't work right if you try to do it over a network share). If you don't do this, the NeatUpload Demo just won't do anything. You will have to restart the website in IIS after you do this.
  • Some of the guides say you need to update the web.config to display the appropriate version and guid, but I found that I didn't have to do that (you will see my web.config below) - UNLESS - you want to use neatupload's section configuration in web.config. So, it is better just to do it right, you know.
  • The guides also say to use the guid and version number in the aspx pages, like demo.aspx, So, replace this:

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

    with this:

    <%@ Register TagPrefix="Upload" Namespace="Brettle.Web.NeatUpload" Assembly="Brettle.Web.NeatUpload, Version=1.3.3798.663,Culture=neutral, PublicKeyToken=c95290d92c5893c8" %>

  • Copy the entire directory at NeatUpload-1.3.25\dotnet\app\bin to SVPD\bin. It contains the following items:

    • Brettle.Web.NeatUpload.dll (the same as the one you installed to the GAC)
    • Brettle.Web.NeatUpload.GreyBoxProgressBar.dll
    • Brettle.Web.NeatUpload.HashedInputFile.dll
    • Hitone.Web.SqlServerUploader.dll
    • a directory called en-US (with a dll in it)
    • another direcotry called fr (with a dll in it)
    • several .mdb databases, and Brettle.Web.NeatUpload.xml
    • Add the references to the http modules to the web-application's web.config file (see web.config sample below).
  • Now, you need to copy the directory: NeatUpload-1.3.25\dotnet\app\NeatUpload to SPVD, and leave it named NeatUpload, so that you have SVPD\NeatUpload with all its original contents. Now, in that folder, there are two files you need to edit: Progress.aspx and SmoothProgress.aspx. In the guides, I was told to use the guids and version numbers in the @ declarations, such as this:

    <%@ Page language="c#" AutoEventWireup="false" Inherits="Brettle.Web.NeatUpload.ProgressPage,Brettle.Web.NeatUpload,Version=1.3.3519.18793,Culture=neutral,PublicKeyToken=C95290D92C5893C8" %>

    <%@ Register TagPrefix="Upload" Namespace="Brettle.Web.NeatUpload" Assembly="Brettle.Web.NeatUpload, Version=1.3.3798.663,Culture=neutral, PublicKeyToken=c95290d92c5893c8" %>

Вот файл web.config, который я поместил в папку с демонстрационной страницей.

<?xml version="1.0"?>
<configuration>

  <configSections>
    <!--You need this part so that you can have a neatupload configuration section.  You will get .net errors if you try to add the configuration section without this part here.-->
    <section name="neatUpload"
      type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload"
      allowLocation="true"
      />
  </configSections>

  <!--This is where you put your neatupload configuration preferences.-->
  <neatUpload xmlns="http://www.brettle.com/neatupload/config/2008"
      useHttpModule="true"
    />

  <system.web>
    <customErrors mode="Off"/>
    <!-- Always required to use any of NeatUpload's features.  Without it, ProgressBars won't display and MultiFile will look like a regular HtmlInputFile. -->
    <httpModules>
      <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule,Brettle.Web.NeatUpload,Version=1.3.3798.663,Culture=neutral,PublicKeyToken=c95290d92c5893c8" />
    </httpModules>

    <!-- Set these next 2 attributes large enough to accomodate the largest and longest running upload you want to support.  Note that browsers and IIS typically don't support uploads larger than 2GB (2097151 KB). -->
    <httpRuntime maxRequestLength="2097151" executionTimeout="999999"/>

    <!-- Not required for NeatUpload but makes it easier to debug in VS. -->
    <compilation debug="true"/>
  </system.web>

  <!-- For IIS7's Integrated Pipeline Mode which is used by the DefaultAppPool. -->
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- Increased maxAllowedContentLength from default of 300MB. -->
        <requestLimits maxAllowedContentLength="2147483648" />
      </requestFiltering>
    </security>
    <modules>
      <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule,Brettle.Web.NeatUpload,Version=1.3.3798.663,Culture=neutral,PublicKeyToken=c95290d92c5893c8" preCondition="managedHandler"/>
    </modules>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>
</configuration>

Some Notes on Installation Packages Установочный пакет, который я использовал, был наhttp://neatupload.codeplex.com/releases/view/46086 - похоже, есть еще несколько, например, «пакет двоичных файлов»; вhttp://neatupload.codeplex.com/releases/view/59339, но структура каталогов отличается, и инструкции не будут иметь большого смысла. На главной странице проекта в CodePlex также есть пакет:http://neatupload.codeplex.com/, но если вы используете этот пакет, у вас будет другой номер версии и идентификатор для DLL при развертывании его в GAC.

Instruction Manuals В виде инструкции по эксплуатации проверьте:http://mumblestiltskin.blogspot.com/2009/10/using-neatupload-simple-setup.html?showComment=1335835416022#c1846924755786832325, и есть также руководство по HTML в пакете двоичных файлов выше. В других пакетах вы должны "собрать" мануал с Open Office. Тогда, конечно, вы можете ссылаться на этот пост!

Troubleshooting Возникли проблемы?

Теперь осталось только добавить какой-нибудь обработчик для копирования файлов туда, куда вы хотите. NeatUpload только добавляет их во временный файл, и мне еще предстоит выяснить, где он находится ...

Похожие вопросы