一个带进度条的上传组件

NeatUpload组件介绍
NeatUpload是一款开源的ASP.NET组件,允许开发者将上传文件直接流式传输到存储位置,并支持用户监控上传进度。该组件支持自定义进度条样式、使用AJAX风格更新进度条且不需要JavaScript等特性。
下载地址:http://www.brettle.com/neatupload#Download
演示地址:http://www.brettle.com/Demo.aspx

  About the NeatUpload™ ASP.NET Component
The NeatUpload ™ ASP.NET component allows  developers to stream uploaded files to storage (filesystem or database) and allows users to monitor upload progress. It is open source and works under Mono's XSP/mod_mono as well as Microsoft's ASP.NET implementation. It features 2 custom controls:  InputFile allows the user to select a file to upload, and ProgressBar displays the upload progress either inline or in a popup. ProgressBar uses AJAX-style refreshless updates on modern browsers when JavaScript is available, but also allows users without JavaScript to see upload progress.

Features

  • Streams uploads directly to storage.  This conserves server memory, allows larger uploads, and helps prevent Denial of Service attacks.
  • Integrates easily with existing applications.  Drag-and-drop the controls using the Visual Studios Web Forms Designer, or replace <HtmlInputFile> with <NeatUpload:InputFile> and add a <NeatUpload:ProgressBar> to your ASP.NET pages.  Then use the properties of InputFile to access the uploaded file and its original name.
  • Supports both inline and popup progress bars.
  • Falls back to using ASP.NET's HttpPostedFile if the NeatUpload HttpModule is not present.  This makes it easy to remove the HttpModule if for some reason it causes problems.
  • Supports customization through styles, custom progress display pages, and custom UploadStorageProviders.
  • Supports AJAX-style refreshless updates of the progress bar.
  • Does not require JavaScript.
  • Works under Mono's XSP/mod_mono and Microsoft's ASP.NET.
  • Removes uploaded files when an error occurs.  This helps prevent disk space leakage.
  • Licensed under the Lesser General Public License (LGPL), a business-friendly open source license.  See below for details.

Demo

Check out the live demo!

Download

For the most recent stable version, download NeatUpload-1.2.25.zip or NeatUpload-1.2.25.tar.gz.  The download files include both source and precompiled binaries.  You can also get the most recent development snapshot by downloading either NeatUpload-trunk.547.zip or NeatUpload-trunk.547.tar.gz

The latest  code is always available from the Subversion repository.  You can browse it with your web browser or use a subversion client with a command like this:
svn checkout https://forgesvn1.novell.com/svn/neatupload/trunk

NeatUpload-1.1 users that don't wish to upgrade should download  NeatUpload-1.1.30.zip or NeatUpload-1.1.30.tar.gz.

Documentation

Please read the NeatUpload 1.2 Manual for step-by-step installation and usage instructions.  Some API documentation is also available.  (The NeatUpload 1.1 Manual and NeatUpload 1.0 Manual remain available for users that have not yet upgraded).

Support

If you are having problems getting NeatUpload to work, please post to the Help forum.  If you are confident you've found a bug, please post it to the Bugs forum.  If you have a feature request, please post it to the Features forum.

Feedback

If you are interested in paying for specific improvements to NeatUpload or paying to have it adapted it to your needs, please contact me.  Alternatively, if you would like to support my work on NeatUpload and other open source software more generally, consider sending me money.  I also greatly appreciate non-monetary contributions such as patches or comments about your experiences using NeatUpload.

Credits

NeatUpload would not have been possible without the support I received from many people.  A special thanks to:
  • Joakim Wennergren of Hiton Nordic AB (Sweden) for contributing the SqlServerInputFile extension which streams uploads to an SQL Server database.
  • ForeverStor for funding development of the HashedInputFile extension and reporting a long-standing but rare file corruption bug.
  • Joe Audette for his support, patience, and encouragement.  Joe tested countless early versions on MS ASP.NET, contributed VS.NET projects/solutions, and created the awesome mojoPortal, for which NeatUpload was originally designed.
  • Stefano Straus for contributing bug fixes and code for new features.  Stefano is using NeatUpload in the Tustena CRM system.
  • Mike Lockyer for spending a lot of time testing NeatUpload's designer support with Visual Studio.
  • Jamie Howell with starnow.com, and Michael Teper with Elanex, Inc., for reporting and testing the fix for a bug which could cause disclosure of sensitive information.
  • Amir Setoudeh at printrunner.com for helping diagnose a tricky bug with handling error pages.
  • John Myczek with Inter-Tel for reporting a buffering problem when using TransmitFile() and testing the fix.
  • Titan Fu for providing an ASP.NET 1.1 testbed, internationalization fixes, and other feedback.
  • Michel Roy (roy dot michel at gmail dot com) for reporting several bugs and suggesting fixes and improvements.
  • Chris Hynes at Assisted Solutions for SlickUpload, which was the inspiration for NeatUpload.  I didn't copy any of SlickUpload's code, but trying to get SlickUpload to work under XSP and mod_mono helped me better understand the problem and, in the end, develop a rather different solution.
  • the developers of Mono for providing an open source .NET-compatible platform on which to develop NeatUpload.  The ability to look through the source code was critical to overcoming the lack of good documentation on how to use some of the darker corners of ASP.NET.
  • the developers of log4net for providing such an easy-to-use logging framework.  This was critical because the Mono debugger doesn't yet support debugging web apps.
  • my wife, Jennifer, and our kids, Julia and Joshua, for letting me have a lot of "peace and quiet" to work on NeatUpload.

License

The NeatUpload™ ASP.NET component is Copyright (C) 2005 Dean Brettle and is licensed under the Lesser General Public License (LGPL).  That means that it is possible to link it into applications that are released under most other licenses, including proprietary licenses.  What follows is my interpretation of the LGPL as it applies to NeatUpload.  I am not a lawyer, and if anything below contradicts the LGPL, the LGPL takes precedence.

There are 3 types of use: use on your own web site, distributing an application which includes an unmodified NeatUpload dll, and distributing exes and dlls which include code derived from NeatUpload.

If you are just using NeatUpload for your own personal or commercial site, but you aren't distributing it, you don't need to do anything.  Of course an acknowledgment or link back to the NeatUpload home page is always appreciated.

If you are distributing an app that includes the NeatUpload assembly built from unmodified source code and the app does not otherwise include code derived from NeatUpload, the easiest way to comply with the LGPL is to:
  1. Include a copy of the NeatUpload release zip file you are using.  The zip file includes the source code for NeatUpload.
  2. Give prominent notice with each copy of the app (a) that NeatUpload is used in it, and (b) where to find the release zip file you included.  For example, you could include the following just before your own license text:
This application uses NeatUpload which is covered by the Lesser General Public License.  The source code for NeatUpload is included in the following location: ...

If you are distributing an app that includes an exe or dll containing code derived from NeatUpload, the easiest way to comply with the LGPL is to:
  1. Avoid introducing dependencies on proprietary code.  For example, do not modify NeatUpload such that it references an assembly in your proprietary app.
  2. Add a prominent notice to the files you modify stating that you changed the files and the date of the change.
  3. Include the complete source code for the dll or exe, licensed under the terms of the LGPL.  NOTE: Although I certainly appreciate being notified of any modifications, from a license compliance perspective, you are responsible for providing the modified source to your customer.
  4. Give prominent notice with each copy of the app (a) that a derivative of NeatUpload is used in it, and (b) where to find the included source code.  For example, you could include the following just before your own license text:
This application uses assemblies that include code from NeatUpload which is covered by the Lesser General Public License. The source code for those assemblies is included in the following location: ...

If you have any licensing questions, just post them to the Support forum.  If you are unable to use NeatUpload because of it's license, please let me know. We might be able to work something out.


 


Forum Total Threads Total Posts Last Post
Help
428 1817 11/15/2007 12:30:27 PM
Bugs
64 303 10/31/2007 4:02:19 AM
Feature Requests
52 242 11/4/2007 7:26:17 PM
Comments
8 11 11/7/2007 9:55:32 AM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值