上传图片js判断

来源:互联网 发布:异步加载js的方法 编辑:程序博客网 时间:2024/04/30 18:34

上传图片时,图片格式需要在js里判断,因为若是在前台,文件既不符合格式有过大,系统可能崩溃

<input type="file" id="fileZ" runat="server" onchange="getPhoto(this)" />


js:

//判断图片上传格式
function getPhoto(obj) {
    var photoExt = obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
    if (photoExt == '.gif' || photoExt == '.png' || photoExt == '.jpeg' || photoExt == '.jpg' || photoExt == '.bmp') {
        return true;
    }
    else {
        alert("上传图片格式不正确!");
        obj.outerHTML = obj.outerHTML;          //上传控件的清除文本框的值
        return false;
    }
}


方法:

 private void GetFilePathName(ref string filename, out string path, string a)         
        {
            path = Server.MapPath("~/UpFile/" + CustomerID + "/");//指定文件上传的物理路径
            //判断上传文件夹是否存在,若不存在,则创建
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);//创建文件夹
            }
            if (filename != "")//判断上传空间是否有文件
            {
                string fileExtension = System.IO.Path.GetExtension(filename).ToLower();           //获取文件名的扩展名
                try
                {
                    filename = a + fileExtension;            //名字+后缀
                    path = path + filename;                 //文件路径
                }
                catch (Exception ex)
                {

                   strmess="文件不能上传,原因:"+ex.Message;
                   ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('文件不能上传!');"+strmess+"</script>");    
                }
            }
        }

提交按钮事件

 string newname = System.DateTime.Now.ToString("yyyyMMddHHssffff");//设置文件的新名
            if (fileZ.PostedFile.FileName.ToString() != "")//判断上传空间是否有文件
            {
                string filename;
                filename = this.fileZ.PostedFile.FileName;//获取上传文件的名字
                string path;
                GetFilePathName(ref filename, out path, newname);
                this.fileZ.PostedFile.SaveAs(path);//保存上传文件
            }
            else
            {
                    ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('请选择上传附件!');</script>");
            }


web.config

<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
        <httpRuntime maxRequestLength="4096" executionTimeout="120"></httpRuntime>
    </system.web>
</configuration>


0 0