public JsonResult UploadFile(DriverFileManager filem)
        {
           
            var hfc = System.Web.HttpContext.Current.Request.Files;

var filePathRoot = GetAppSetting.GetPhysicalPath + GetFileType(filem.FileType ) + "\\";
            //判断是否存在目录
            if (!Directory.Exists(filePathRoot))
            {
                Directory.CreateDirectory(filePathRoot);
            }
            if (hfc.Count > 0 && !string.IsNullOrEmpty(hfc[0].FileName)) {
                var filename = hfc[0].FileName;
                var filePath = filePathRoot + Path.GetFileName(filename);

//判断是否存在文件名
                if (System.IO.File.Exists(filePath))
                {
                    //重命名新文件
                    filename = Path.GetFileNameWithoutExtension(filename) + "_" + new Random().Next(0, 1000) + Path.GetExtension(filename);
                }
                else
                {
                    filename = Path.GetFileName(filename);
                }
                filePath = filePathRoot + filename;
                hfc[0].SaveAs(filePath);
                filem.FilePath = filename;
                filem.CreateBy = CurrentUserInfo.UserCode;
                var obj = DriverFileManager.Save(filem);
              
                  return Json(new { err = "", msg = "导入成功!" }, "text/html");
                  
            }

return null;
        }

/////////////////////////////////////////////////////////////////////////下载//////////////////////////////////////////////////////////////////////////////////////

using Cinway.Common;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Cinway.Controllers
{
    public class FileDownsController : Controller
    {
         //
        // GET: /FileDowns/
        /// <summary>
        /// 下载文件
        /// </summary>
        /// <returns></returns>
        public ActionResult DowmFile(string filePath, string FileType)
        {
            string fileName=filePath;
            filePath = GetAppSetting.GetPhysicalPath + FileType + "/" + filePath;

FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();

return new EmptyResult();
        }

//
        // GET: /FileDowns/
        /// <summary>
        /// 下载文件
        /// </summary>
        /// <returns></returns>
        public ActionResult DowmFileReceipt(string filePath, string FileType)
        {
            string fileName = filePath;
            filePath = GetAppSetting.GetPhysicalPath + "Receipt" + "/" + filePath;

FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();

return new EmptyResult();
        }

//
        // GET: /FileDowns/
        /// <summary>
        /// 下载文件
        /// </summary>
        /// <returns></returns>
        public ActionResult ReceiptDowmFile(string filePath, string FileType)
        {
            string fileName = filePath;
            filePath = GetAppSetting.GetPhysicalPath + "Receipt/" + filePath;

FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();

return new EmptyResult();
        }
        public ActionResult PreviewDowmFile(string filePath, string FileType)
        {
            string fileName = filePath;
            filePath = GetAppSetting.GetPhysicalPath + "Receipt/" + filePath;

FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            if (filePath.Contains(".pdf"))
            {
                Response.ContentType = "application/pdf";
            }
            else if(filePath.Contains(".jpg"))
            {
                Response.ContentType = "image/jpg";
            }
            else if(filePath.Contains(".png"))
            {
                Response.ContentType = "image/png";
            }
            else
            {
                Response.ContentType = "application/octet-stream";
            }

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "inline;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

//Response.Flush();
            // Response.End();
            try { Response.Flush(); }
            catch { }
            finally
            {
                System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            //Response.Close();
            return new EmptyResult();
        }
        //
        // GET: /FileDowns/
        /// <summary>
        /// 下载文件
        /// </summary>
        /// <returns></returns>
        public ActionResult DowmFile1(string filePath, string FileType)
        {
            string fileName = filePath;
            filePath = GetAppSetting.GetPhysicalPath +"TruckOrder/"+ FileType + "/" + filePath;

FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();

return new EmptyResult();
        }

//
        // GET: /FileDowns/
        /// <summary>
        /// 下载文件
        /// </summary>
        /// <returns></returns>
        public ActionResult DowmFiles(string filePath, string FileType)
        {
            string fileName = filePath;
            int intfiletype = 0;
            if (int.TryParse(FileType, out intfiletype))
            {
                FileType = TruckFileManagerController.GetFileType(intfiletype);
            }

filePath = GetAppSetting.GetPhysicalPath + FileType + "/" + filePath;

FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();

return new EmptyResult();
        }

#region 下载模板,关务
        public ActionResult DownModal(string fileName) {
            string filePath = Server.MapPath("~/ExcelModel/" + fileName+".xlsx");
            FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName + ".xlsx") : fileName + ".xlsx"));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();
            return new EmptyResult();
        }
        #endregion
        #region 洪祺 订单上传附件下载
        public ActionResult DowmOrderFiles(string filePath, string FileType,string fileName)
        {
            int intfiletype = 0;
            if (int.TryParse(FileType, out intfiletype))
            {
                FileType = TruckFileManagerController.GetFileType(intfiletype);
            }
            FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);

fs.Close();

Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();

Response.Expires = 0;
            Response.Buffer = true;
            Response.Charset = "UTF-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
            Response.ContentType = "application/octet-stream";

//解决IE中文乱码问题
            bool ie = Request.Headers.Get("User-Agent").IndexOf("MSIE") > 0 || Request.Headers.Get("User-Agent").IndexOf("Trident") > 0;

Response.AddHeader("Content-Disposition", "attachment;filename=" + (ie ? Server.UrlEncode(fileName) : fileName));
            Response.AddHeader("Content-Transfer-Encoding", "binary");
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.BinaryWrite(bytes);

Response.Flush();
            Response.End();

return new EmptyResult();
        }
        #endregion
    }
}

c#代码文件上传和下载的更多相关文章

  1. java代码实现ftp服务器的文件上传和下载

    java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools   工具类: ...

  2. 全网最简单的大文件上传与下载代码实现(React+Go)

    前言 前段时间我需要实现大文件上传的需求,在网上查找了很多资料,并且也发现已经有很多优秀的博客讲了大文件上传下载这个功能. 我的项目是个比较简单的项目,并没有采用特别复杂的实现方式,所以我这篇文章的目 ...

  3. java web学习总结(二十四) -------------------Servlet文件上传和下载的实现

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  4. (转载)JavaWeb学习总结(五十)——文件上传和下载

    源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...

  5. JavaWeb学习总结,文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  6. java文件上传和下载

    简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...

  7. 使用jsp/servlet简单实现文件上传与下载

    使用JSP/Servlet简单实现文件上传与下载    通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...

  8. JavaWeb学习总结(五十)——文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  9. 文件上传和下载(可批量上传)——Spring(三)

    在文件上传和下载(可批量上传)——Spring(二)的基础上,发现了文件下载时,只有在Chrome浏览器下文件名正常显示,还有发布到服务器后,不能上传到指定的文件夹目录,如上传20160310.txt ...

随机推荐

  1. HBase的replication原理及部署

    一.hbase replication原理 hbase 的复制方式是 master-push 方式,即主集群推的方式,主要是因为每个rs都有自己的WAL. 一个master集群可以复制给多个从集群,复 ...

  2. Vue中的render函数随笔

    使用vue-cli创建项目后,再main.js里面有这样一段代码: new Vue({ render:h => h(App) }).$mount('#app') render函数是渲染一个视图, ...

  3. LuoGu P2783 有机化学之神偶尔会做作弊

    题目传送门 人生第一道黑题呢,虽然这题是黑题中的水题并且我调了一整节课,但是我还是很兴奋啊.毕竟人生第一道黑题啊 这个题根据题意,先把整个图进行tarjan缩点,建出一棵树,对于每一组询问,两点之间的 ...

  4. vue v-show绑定

    在Vue中使用v-show指令来选择性的显示内容.它的属性值可以是布尔值.属性名称以及函数名称.如果使用函数来控制的话,无论函数内容如何运算判断,最终返回布尔值true或者false就可以了 < ...

  5. jQuery-lazyload参数

    1.placeholder placeholder:'图片地址',用图片提前占据将要加载的图片的位置. 2.effect effect:‘fadeIn’ 表示用何种效果载入,eg:show()直接加载 ...

  6. Jenkins三.1 配置maven

    maven配置安装下载 wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-b ...

  7. Confluence 6 企业环境或者网站托管的 Java 配置策略

    Confluence 需要依赖一些 Java 的库才能够允运行.一些依赖的 Java 库应用了 Java 的语言特性,但是又是被 Java 的安全策略所限制的. 这个通常来说是不会造成任何问题的.默认 ...

  8. PHP中json_encode()使用须知,JSON数组和JSON对象

    ⊰ 偷偷的告诉你,这是一个很不谨慎就会踩得坑 ⊱  如下代码 (看了一下很简单,没毛病啊,老铁) $arr = array( '0'=>'a','1'=>'b','2'=>'c',' ...

  9. java多线程快速入门(十八)

    Lock锁是JDK1.5之后推出的并发包里面的关键字(注意捕获异常,释放锁) Lock与synchronized的区别 Lock锁可以人为的释放锁(相当于汽车中的手动挡) synchronized当线 ...

  10. jmeter 中如何一次运行多条sql语句

    在jmeter测试mysql中如何一次运行多条sql语句 allowMultiQueries=true 注意:太低版本的mysql和jdbc不支持,最好用最新版的