zoukankan      html  css  js  c++  java
  • Chapter 6. 文件上传

    步骤:

    1、先将项目中的相对路径位置写出来     

      string path = "images/aaa.txt";

    2、将此相对路径映射成绝对路径     

      string endpath = Server.MapPath(path);

    3、保存    

       FileUpload1.SaveAs("endpath");

    问题1:文件重名,容易被覆盖

    办法:保留文件原有的名字
       string path = "images/"+FileUpload1.FileName;

    问题2:文件重名,多人上传同一名称的文件会被覆盖

    办法:名称添加时间拼接,用户名拼接

       string path="images/"+DateTime.Now.ToString("yyyyMMddHHmmss")+Request.Cookies["User"].Value+FileUpload1.FileName;

    问题3:上传文件格式限制

    办法1:

      控件属性:accept = ".jpg,.png,.jpeg"; 

    办法2:

      使用JS,获取用户选择文件的后缀名,验证是否与要求的一致 

    document.getElementById("Button1").onclick = function () 
    {
    var fl = document.getElementById("FileUpload1"); var aa = fl.value.substr(fl.value.length - 4, 4); if (aa != ".txt" && aa != ".png" && aa != ".jpg")
         { alert(
    "文件格式选择不正确!"); return false; } };

    问题4:文件过大

    办法1、扩容

      Web.config配置文件:
        <httpRuntime maxRequestLength="40960"/>
        以KB为单位,默认4096,不要太大,因为会占用服务器内存

    办法2、文件大小限制
      1、C#端限制
        if (FileUpload1.PostedFile.ContentLength > (4096 * 1024))  但是,不好用

      2、客户端JS限制
        fl.files[0].size 能获取到选中文件的大小,B为单位

    document.getElementById("Button1").onclick = function () 
    {
            var fl = document.getElementById("FileUpload1");
    
            if (fl.files[0].size > (1024 * 1024 * 4)) 
         {
                alert("文件超过4MB");
                return false;
            }
    };
  • 相关阅读:
    国际组织
    波段
    hhgis驱动
    百度地图格式
    气象数据格式
    汽车用传感器
    无线传感器网络
    【系统软件工程师面试】7. 消息队列
    【ToDo】存储设计概述
    Arthas: Java 动态追踪技术
  • 原文地址:https://www.cnblogs.com/xiao55/p/5943411.html
Copyright © 2011-2022 走看看