zoukankan      html  css  js  c++  java
  • ASP.NET上传文件

      上传下载这些东西太经常用到了,总结一下好了。

    思路:利用.NET提供的丰富的控件库里的控件:fileUpLoad,文件选择框,然后放置一个确定按钮,操作上传文件,在该确定按钮里做操作:验证文件类型,重写文件名,保存,然后删除同名文件。下载的话:找到文件所在地址,获得服务器所在的物理路径,设置输出类型,指定编码格式,添加到输出流,然后实现下载。

    上传:前台页面存在两个控件:fileUpLoad和一个按钮:

    <asp:FileUpload ID="fuImg" runat="server" CssClass="border" Width="160px" />

    <asp:Button ID="BtnEditOK" runat="server" Text=" 完成保存 " OnClick="BtnEditOK_Click" />

    后台代码:

    protected void BtnEditOK_Click(object sender, EventArgs e)
    {

     string[] extens = new string[] { ".jpeg", ".bmp", ".png", ".gif", ".jpg" };

    //如果有文件

    if (fuFile.HasFile)
    {

    string fileName = fuImg.FileName;
    string ext = Path.GetExtension(fileName);

    //验证文件格式
    if (extens.Contains(ext))
    {

    //生成以时间为随机数的新文件名
    string newName = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + "_" + new Random().Next(10, 99).ToString() + ext;
    string path = HttpContext.Current.Server.MapPath("~/Files/");  //保存到项目根目录Files文件夹下

    fuFile.SaveAs(path);  //保存

    }

    else
    {
    JScript.Alert("图片格式不正确,支持.jpeg、.bmp、.png、.gif、.jpg几种格式!", Page);
    return;
    }

    }

    }

    下载:假设在这里有一个model下载对象,它有一个属性是文件名  ,而在这里,我原来是把文件存在项目根目录Files文件夹下面的

    string filename = model.DownLoadUrl; //文件名
    string url = "~/Files/" + filename; //文件下载地址
    //要下载的文件服务器物理路径
    string filePath = Server.MapPath(url);
    //设置输出类型
    Response.ContentType = "application/octet-stream";
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
    //将Http头添加到输出流 指定下载文件的名称
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
    //将指定的文件直接写入输出流,而不在内存中缓存该文件
    Response.TransmitFile(filePath);

    完成!

  • 相关阅读:
    3. 尾缀
    Cocos工程命名规则整理(node部分)
    3.1-3.3 HBase Shell创建表
    2.11-2.12 HBase的数据迁移常见方式
    2.8-2.10 HBase集成MapReduce
    2.7 HBase架构深入剖析
    2.3-2.6 HBase java API
    2.1-2.2 HBase数据存储
    1.6-1.8 HBase表的物理模型
    1.4-1.5 HBase部署及基本使用
  • 原文地址:https://www.cnblogs.com/ZQiuMei/p/2838463.html
Copyright © 2011-2022 走看看