方便了。和大家分享下。
所需控件:
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