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

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

  本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载。

  1.上传文件

  (1)页面代码

文件名称:
浏览:

  (2).后台代码  

protected void UploadButton_Click(object sender, EventArgs e)        {            Msg.Text = "";            MyWebSite.DAL.FileInfo file = new MyWebSite.DAL.FileInfo();            if (string.IsNullOrEmpty(FileName.Text))            {                Msg.Text = "请输入文件名";                return;            }            if (FileUpload1.HasFile)            {                try                {                    DateTime upload = DateTime.Now;                    string flag = Path.GetExtension(FileUpload1.PostedFile.FileName);                    string path = Server.MapPath("../Upload/" + FileUpload1.FileName);                    string size = (FileUpload1.PostedFile.ContentLength / 1024).ToString();                    FileUpload1.SaveAs(path);                    file.FileName = FileName.Text.ToString();                    file.Type = flag;//获得文件格式                    file.Size = size;//文件大小                    file.FilePath = path;//上传到服务器的绝对路径                    file.UploadTime = DateTime.Now.ToShortDateString();//上传时间                    handler.AddFile(file);//将上传的文件信息保存到数据库                    Msg.Text = "上传成功!";                }                catch                {                    Msg.Text = "上传失败!";                }            }        }

  2.下载文件

  (1)前台页面

文件名称:
类型: <%#Eval("类型") %> 文件大小: <%#Eval("文件大小") %>KB 上传时间: <%#Eval("上传时间") %>
下载文件

  (2)后台代码

  1).绑定数据

public void GrvDataBin(List
list) { DataView dv = new DataView(); DataTable dt = new DataTable("fileMeta"); { dt.Columns.Add("文件名称"); dt.Columns.Add("类型"); dt.Columns.Add("上传时间"); dt.Columns.Add("文件大小"); dt.Columns.Add("link"); } foreach (FileInfo fileM in list) { DataRow row = dt.NewRow(); row[0] = fileM.FileName; row[1] = fileM.Type; row[2] = fileM.UploadTime; row[3] = fileM.Size; row[4] = fileM.FilePath; dt.Rows.Add(row); } dv.Table = dt; Repeater1.DataSource = dv; Repeater1.DataBind(); }

  2).下载文件

  

protected void down_file_Click(object sender, RepeaterCommandEventArgs e)        {            System.IO.FileStream fs = null;            try            {                string filePath = e.CommandArgument.ToString();                string fileName = ((Label)e.Item.FindControl("FileTitle")).Text.ToString();                fs = System.IO.File.OpenRead(filePath);                byte[] buffer = new byte[1024];                long count = 1024;                Response.Buffer = true;                Response.AddHeader("Connection", "Keep-Alive");                Response.ContentType = "application/octet-stream";                Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(System.IO.Path.GetFileName(filePath)));//下载时要保存的默认文件名                Response.AddHeader("Content-Length", fs.Length.ToString());                while (count == 1024)                {                    count = fs.Read(buffer, 0, 1024);                    Response.BinaryWrite(buffer);                }            }            catch (Exception ex)            {                return;            }            finally            {                fs.Close();            }        }

  以上就完成了,简单的文件上传与下载。 

 

 

转载于:https://www.cnblogs.com/akwwl/p/3184239.html

你可能感兴趣的文章
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>
量化策略回测DCCV2
查看>>
mongodb查询优化
查看>>
五步git操作搞定Github中fork的项目与原作者同步
查看>>
git 删除远程分支
查看>>
删远端分支报错remote refs do not exist或git: refusing to delete the current branch解决方法
查看>>