1. aspnetupload
This is a charge developed by Chinese people. net controls, official website http://www.aspnetupload.net/(but there is also a free version, allow upload 10 M content, generally enough, the paid version is not expensive, roughly 600 RMB)
The principle is to divide the file into parts for upload, and then the client uses ajax to continuously refresh and display the progress bar.
This is also the solution that I used for the longest time. There was no problem in iis7 before, but if this control is used in iis7 and later versions, the application pool can only run in "classic" mode, and the advantages of iis7 cannot be fully utilized.
I have reported this problem to the author. Unfortunately, it seems that the author has not improved.
2. silverlightupload open source project
Completely free, official site address: http://silverlightfileupld.codeplex.com/
General principle: Uses Silverlight as the interface, starts a POST request to the server when you Click Upload, and continuously calls back to display the progress.
The following figure shows how to enable thumbnail preview:
Disadvantage: it is a bit rough and inconvenient to integrate with form.
This is the source file after "Chinese" (in fact, I changed the color and changed the English to Chinese)
Http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Silverlight/SilverlightFileUploadSrc.rar
3. swfupload open source project
It is also free, but also the most powerful official website address: http://www.swfupload.org/
Online Demo: http://demo.swfupload.org/v220/index.htm
This project is very mature and is recommended for use.
Bytes
This is a small demo I made (in the ASP. net4.0 environment, it must be opened with vs2010)
The last thing to note is: security first! Wherever there is an upload, a Trojan can be uploaded. Do not trust any files submitted by the client. (For example, if a customer can transfer .aspxto .jpg, if the server administrator maps .jpg to. aspx, ...)
Therefore, my suggestion is that you must check the MIME type of the file on the server. It is relatively difficult and safer to forge the file. At the same time, do not grant any execution permission to the upload directory on the server, you only need the read permission.