1、控件:FileUpload
它是用来选择要上传的文件,还需要一个按钮来将选中的文件上传到服务器上
(1)文件保留原有名称和后缀
string path = "Uploads/" + FileUpload1.FileName;//相对路径
string endPath = Server.MapPath(path);//路径映射为绝对路径
FileUpload1.SaveAs(endPath);//上传
(2)防止重名,或是同一时间多个人同时上传同一名称文件
string path = "Uploads/" + DateTime.Now.ToString("yyyyMMddhhssmmms") + Request.Cookies["ures"].Value + FileUpload1.FileName;
(3)可以上传大文件,默认是4MB,4096KB
扩容
Web.config中的system.web标记中
<httpRuntime maxRequestLength="70960" />
注意!!!!
不要扩的太大,因为如果多人同时上传大文件,可能会造成服务器内存溢出,导致服务器崩溃。
(4)超过上传要求的大小,阻止上传并提示文件过大
只能用JS限制
document.getElementById("Button1").onclick = function () { var fi1 = document.getElementById("FileUpload1"); if (fi1.value.length <= 0) { alert('请选择要上传的文件!'); return false; } else { if (fi1.files[0].size > (1024 * 1024 * 10)) { alert('文件过大,不允许上传!'); return false; } } };
(5)限制可以选择的文件类型
控件的属性
accept=".jpg,.jpeg,.png"
(6)显示上传的图片
后台
Image1.ImageUrl = path;
前台
<img src='<%#Eval("pic") %>' />//pic路径