• 用ASP.NET WebForm的FileUpload控件上传文件



    1.上传图片,即限制上传文件的后缀名为.jpg、.png、.gif等

                if (FileUpload1.HasFile == true)
                {
                    string fileName = FileUpload1.FileName;
                    string savePath = Server.MapPath("~/upload") + "\\" + fileName;
                    string fileNameWithoutExt = fileName.Substring(0, fileName.LastIndexOf('.'));
                    //Response.Write(fileNameWithoutExt);
                    string ext = Path.GetExtension(savePath).ToLower();
    
                    if (ext == ".jpg" || ext == ".png" || ext == ".bmp" || ext == ".gif" || ext == ".tif" || ext == ".jpeg")
                    {
                        if (File.Exists(savePath))
                        {
                            //提示上传失败
                            //提示用户改名   关于有文件重名网上也有其他方法,例如自动改为当前时间的  年月日时分秒毫秒
                            Response.Write("请改名后再上传");
                            return;
                        }
                        FileUpload1.SaveAs(savePath);
                        //可以直接将这个savePath保存到数据库,获取文件名的方法为  Path.GetFileName()
                        //如果没有重名,直接保存文件名也是可以的,显示照片时 VirtualPathUtility.ToAbsolute("~/upload") + "/" + 文件名(不带路径)
                        //提示上传成功
                        Response.Write("Success");
                    }
                    else
                    {
                        Response.Write("Failed");
                        //提示上传失败
                    }

    2.限制上传文件的大小

                //对上传文件的大小进行检测,限定文件最大不超过1M
                if (FileUpload1.PostedFile.ContentLength > 1024000)
                {
                    fileOk = false;
                }


    3.遇到重名的处理

    ①提示同名,需要用户重新命名

    ②利用时间的年月日时分秒毫秒来产生文件名

    ③目标文件夹:File 

    临时文件夹:Temp 
    判断在File文件夹下有无同名, 
    有,用javascript询问用户,记录下用户的选择, 
    上传到Temp文件夹, 
    转到另一页面,获取用户的选择, 
    如果拥护选择了覆盖   将文件移动到File下,否则删除文件

    ④加个checkBox(是否覆盖同名文件)。
    如果用户未选择“覆盖checkBox”,并且有同名文件时。那么直接提示“上传失败,有同名文件存在,请改名后重新上传或选择覆盖上传”。
    如果允许自动重命名上传,遇到同名文件时,则可以取当前日期+时间+文件扩展名(假如有的话),作为文件名,再上传文件。 

    ⑤。。。

    本博客(liqipeng)除非已明确说明转载,否则皆为liqipeng原创或者整理,转载请保留此链接:https://www.cnblogs.com/liqipeng/archive/2012/07/03/4576211.html

    本博客(liqipeng)除非已明确说明转载,否则皆为liqipeng原创或者整理,转载请保留此链接:https://www.cnblogs.com/liqipeng/archive/2012/07/03/4576211.html
    如果你觉得这篇文章对你有帮助或者使你有所启发,请点击右下角的推荐按钮,谢谢,:)
  • 相关阅读:
    第04组 Alpha冲刺 总结
    第04组 Alpha冲刺 (6/6)
    软工实践个人总结
    第09组 每周小结 (3/3)
    第09组 每周小结 (2/3)
    第09组 每周小结 (1/3)
    第09组 Beta冲刺 总结
    第09组 Beta冲刺 (5/5)
    第09组 Beta冲刺 (4/5)
    第09组 Beta冲刺 (3/5)
  • 原文地址:https://www.cnblogs.com/liqipeng/p/4576211.html
Copyright © 2020-2023  润新知