jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在asp.net 2.0中,上传文件时变的比较方便了,因为有了fileupload控件,使用十分简单,
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;
            }
        }

    }

posted on 2006-09-26 10:55  jackyrong的世界  阅读(1483)  评论(1编辑  收藏  举报