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路径