博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Chapter 6. 文件上传
阅读量:6346 次
发布时间:2019-06-22

本文共 1320 字,大约阅读时间需要 4 分钟。

步骤:

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;        }};

 

转载于:https://www.cnblogs.com/xiao55/p/5943411.html

你可能感兴趣的文章
Java中静态变量和实例变量的区别
查看>>
秋名山老司机(详解)——bugku
查看>>
RED | Robot Framework集成开发环境
查看>>
育碧同 Mozilla 联手开发 AI 代码助手
查看>>
【实用】面对枯燥的源码,如何才能看得下去?
查看>>
智库说 | 徐远:数字时代的城市潜力
查看>>
《JSP极简教程》jsp c:forEach用法
查看>>
WebSocket详解(六):刨根问底WebSocket与Socket的关系
查看>>
用 Go 写一个轻量级的 ssh 批量操作工具
查看>>
网站设计之合理架构CSS 架构CSS
查看>>
OTP 22.0 RC3 发布,Erlang 编写的应用服务器
查看>>
D语言/DLang 2.085.1 发布,修复性迭代
查看>>
感觉JVM的默认异常处理不够好,既然不好那我们就自己来处理异常呗!那么如何自己处理异常呢?...
查看>>
Java 基础 之 算数运算符
查看>>
Windows下配置安装Git(二)
查看>>
一个最简单的基于Android SearchView的搜索框
查看>>
铁路开通WiFi“钱景”不明
查看>>
Nutanix领衔的超融合能带来新存储黄金时代吗?
查看>>
Facebook申请专利 或让好友及陌生人相互拼车
查看>>
电力“十三五”规划:地面光伏与分布式的分水岭
查看>>