asp.net 2.0的文件上传(突破上传限制4M)

复制代码 代码如下:

  if (FileUpload1.HasFile)

  try

  {

  FileUpload1.SaveAs("d:\\luceneData\\" + FileUpload1.FileName);

  Label1.Text = "File name: " +

  FileUpload1.PostedFile.FileName + "<br>" +

  FileUpload1.PostedFile.ContentLength + " kb<br>" +

  "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,比如

  <httpRuntime

  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 += "<u>File #" + (i + 1) +

  "</u><br>";

  Label1.Text += "File Content Type: " +

  userPostedFile.ContentType + "<br>";

  Label1.Text += "File Size: " +

  userPostedFile.ContentLength + "kb<br>";

  Label1.Text += "File Name: " +

  userPostedFile.FileName + "<br>";

  userPostedFile.SaveAs(filepath + "\\" +

  System.IO.Path.GetFileName(userPostedFile.FileName));

  Label1.Text += "Location where saved: " +

  filepath + "\\" +

  System.IO.Path.GetFileName(userPostedFile.FileName) +

  "<p>";

  }

  }

  catch (Exception Ex)

  {

  Label1.Text += "Error: <br>" + Ex.Message;

  }

  }

  }