在asp.net 2.0中,上传文件时变的比较方便了,因为有了fileupload控件,使用十分简单,
if (FileUpload1.HasFile)
 try
 {
 FileUpload1.SaveAs("d:\\luceneData\\" + FileUpload1.FileName);
 Label1.Text = "File name: " +
 FileUpload1.PostedFile.FileName + "
" +
 FileUpload1.PostedFile.ContentLength + " kb
" +
 "Content type: " +
 FileUpload1.PostedFile.ContentType;
 }
 catch (Exception ex)
 {
 Label1.Text = "ERROR: " + ex.Message.ToString();
 }
 else
 {
 Label1.Text = "You have not specified a file.";
 }
还可以在web.config文件中,突破默认上传限制的4MB,比如
executionTimeout="110"
maxRequestLength="11000"
requestLengthDiskThreshold="80"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="5000"
enableKernelOutputCache="true"
enableVersionHeader="true"
requireRootedSaveAsPath="true"
enable="true"
shutdownTimeout="90"
delayNotificationTimeout="5"
waitChangeNotification="0"
maxWaitChangeNotification="0"
enableHeaderChecking="true"
sendCacheControlHeader="true"
apartmentThreading="false" />
设置maxRequestLenth属性,这里为11000KB,即11MB。
而对于多文件上传,也很简单,比如一个例子
string filepath = "d:\\luceneData\\";
 HttpFileCollection uploadedFiles = Request.Files;
 for (int i = 0; i < uploadedFiles.Count; i++)
 {
 HttpPostedFile userPostedFile = uploadedFiles[i];
 try
 {
 if (userPostedFile.ContentLength > 0)
 {
 Label1.Text += "File #" + (i + 1) +
 "
";
 Label1.Text += "File Content Type: " +
 userPostedFile.ContentType + "
";
 Label1.Text += "File Size: " +
 userPostedFile.ContentLength + "kb
";
 Label1.Text += "File Name: " +
 userPostedFile.FileName + "
";
 userPostedFile.SaveAs(filepath + "\\" +
 System.IO.Path.GetFileName(userPostedFile.FileName));
 Label1.Text += "Location where saved: " +
 filepath + "\\" +
 System.IO.Path.GetFileName(userPostedFile.FileName) +
 "
";
 }
 }
 catch (Exception Ex)
 {
 Label1.Text += "Error: 
" + Ex.Message;
 }
 }
 }