zoukankan      html  css  js  c++  java
  • MVC下载文件方式 包括网络地址文件

    方式一:

    public FileStreamResult DownFile(string filePath, string fileName)
    {
          string absoluFilePath = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["AttachmentPath"] +      filePath);
           return File(new FileStream(absoluFilePath, FileMode.Open), "application/octet-stream", Server.UrlEncode(fileName));
    }

    方式二:

    public ActionResult DownFile(string filePath, string fileName)
    {
    filePath = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["AttachmentPath"] + filePath);
    FileStream fs = new FileStream(filePath, FileMode.Open);
    byte[] bytes = new byte[(int)fs.Length];
    fs.Read(bytes, 0, bytes.Length);
    fs.Close();
    Response.Charset = "UTF-8";
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
    Response.ContentType = "application/octet-stream";

    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName));
    Response.BinaryWrite(bytes);
    Response.Flush();
    Response.End();
    return new EmptyResult();

    }

    View调用:

    <href="/Document/DownFile?filePath=@item.Value&fileName=@item.Key">下载</a>  

    方法三(此法工作中遇到、现加到笔记中)

    此方式针对只有一个网络地址的文件、非本地文件,

    WebClient webclient = new WebClient();
    byte[] bytedata = webclient.DownloadData(urls);
    Response.ContentType = "Application/plain";
    Response.AddHeader("Content-Disposition", "attachment; filename="+ mif.ManualTitle +"."+ ext);
    this.Response.Clear();
    Stream stream = this.Response.OutputStream;
    stream.Write(bytedata, 0, bytedata.Length);
    stream.Close();
    this.Response.End();
    return new EmptyResult();

  • 相关阅读:
    Kettle 实现mysql数据库不同表之间数据同步——实验过程
    Kettle ETL 来进行mysql 数据同步——试验环境搭建(表中无索引,无约束,无外键连接的情况)
    并查集知识总结
    c# 线程同步问题(about volatile)
    c# 线程的等待(堵塞)
    net中多线程返回值
    c# 中的 lock monitor mutex Semaphore 的比较
    c#两种同步结构
    links-some-blog
    T-SQL中的APPLY用法
  • 原文地址:https://www.cnblogs.com/NotEnough/p/6807882.html
Copyright © 2011-2022 走看看