FileUpload控件的使用

以前上传文件好像还非常复杂的,在ASP.NET中用了FileUpload控件就比较

方便了。和大家分享下。

所需控件:
FileUpload上传文件
Button      实现上传
Label      显示上传文件信息
主要是上传按钮的事件:
protected void Button1_Click(object sender, EventArgs e)
    {
        string fullname = FileUpload1.FileName.ToString();//直接取

得文件名
        string url = FileUpload1.PostedFile.FileName.ToString();//

取得上传文件路径
        string typ = FileUpload1.PostedFile.ContentType.ToString

();//获取文件MIME内容类型
        string typ2 = fullname.Substring(fullname.LastIndexOf(".")

+ 1);//获取文件名字 . 后面的字符作为文件类型
        int size = FileUpload1.PostedFile.ContentLength;

        //下面是保存了,我们来个判断,只能上穿传哪些格式的文件吧
        if (File.Exists(url))
        {
            Response.Write("<script>alert('文件已存在 !')

</script>");
        }
        else
        {
            if (typ2 == "gif" || typ2 == "jpg" || typ2 == "bmp" ||

typ2 == "png" || typ2 == "rar")
            //if

(typ=="image/bmp"||typ=="image/gif"||typ=="image/jpeg")
            {
                if (size <= 4134904)
                {
                    FileUpload1.SaveAs(Server.MapPath("upload") +

"\\" + fullname);//Server.MapPath("uploads\\image") + "\\" +

fullname将文件保存在跟目录的uploads文件夹下
                    Label1.Text = ("你上传了一个名为" + url + ",

MIME内容类型为[" + typ + "],后缀名为[" + typ2 + "],共[size]字节

大小的文件<br>已经保存在了你的UP目录中了,如果你是用VS2005,请刷新

你的目录哦!!");
                }
                else
                {
                    Response.Write("<script>alert('你的文件超过限

制大小!')</script>");
                }

            }
            else
            {
                Label1.Text = "上传文件格式不正确..";
            }

        }
    }


个人建议用ContentType判断上传文件类型,相对安全,防止别人上传恶意

文件。
.net中默只能上传小于4m的文件,大于4M将无法显示页面,显示为空白页。

关于文件大小的设置,主要是通过配置Web.config:
在web.config中添加httpRuntime元素,代码如下:
<configuration>
   <system.web>
      <httpRuntime maxRequestLength="8192"
         useFullyQualifiedRedirectUrl="true"
         executionTimeout="45"
         versionHeader="1.1.4128"/>
   </system.web>
</configuration>

其中maxRequestLength属性就是限制上传大小的,如设为"8192"即为8M。


ContentType MIME内容类型的全部类型列表
application/cdf
application/fractals
application/futuresplash
application/hta
application/mac-binhex40
application/msaccess
application/msword
application/pdf
application/pkcs10
application/pkcs7-mime
application/pkcs7-signature
application/pkix-cert
application/pkix-crl
application/postscript
application/set-payment-initiation
application/set-registration-initiation
application/vnd.adobe.xfdf
application/vnd.fdf
application/vnd.ms-excel
application/vnd.ms-pki.certstore
application/vnd.ms-pki.pko
application/vnd.ms-pki.seccat
application/vnd.ms-pki.stl
application/vnd.ms-powerpoint
application/vnd.rmf
application/vnd.visio
application/x-cdf
application/x-complus
application/x-compress
application/x-compressed
application/x-gzip
application/x-internet-signup
application/x-iphone
application/x-latex
application/x-mix-transfer
application/x-mplayer2
application/x-ms-wmd
application/x-ms-wms
application/x-ms-wmz
application/x-msexcel
application/x-mspowerpoint
application/x-pkcs12
application/x-pkcs7-certificates
application/x-pkcs7-certreqresp
application/x-shockwave-flash
application/x-stuffit
application/x-tar
application/x-troff-man
application/x-x509-ca-cert
application/x-zip-compressed
application/xml
audio/aiff
audio/basic
audio/mid
audio/midi
audio/mp3
audio/mpeg
audio/mpegurl
audio/mpg
audio/wav
audio/x-aiff
audio/x-background
audio/x-mid
audio/x-midi
audio/x-mp3
audio/x-mpeg
audio/x-mpegurl
audio/x-mpg
audio/x-ms-wax
audio/x-ms-wma
audio/x-wav
image/bmp
image/gif
image/jpeg
image/pjpeg
image/png
image/svg
image/svg+xml
image/svg-xml
image/tiff
image/tiff2
image/x-icon
image/x-jg
image/x-png
image/x-wmf
image/x-xbitmap
image/xbm
image/xiff
image/xiff2
message/rfc822
midi/mid
text/css
text/h323
text/html
text/iuls
text/plain
text/scriptlet
text/webviewhtml
text/x-component
text/x-scriptlet
text/x-vcard
text/xml
video/avi
video/mpeg
video/mpg
video/msvideo
video/quicktime
video/x-ivf
video/x-mpeg
video/x-mpeg2a
video/x-ms-asf
video/x-ms-asf-plugin
video/x-ms-wm
video/x-ms-wmp
video/x-ms-wmv
video/x-ms-wmx
video/x-ms-wvx
video/x-msvideo

posted on 2011-06-30 16:45  carekee  阅读(3506)  评论(0编辑  收藏  举报