zoukankan      html  css  js  c++  java
  • Net Core 文件的上传下载

    上传文件

      /// <summary>
            /// 上传附件(单个附件)
            /// </summary>
            /// <returns></returns>
            [HttpPost]
            public ActionResult UploadFile()
            {
                try
                {
                    string Id = "";//记录返回的附件Id
                    string filePath = "";//记录文件路径
                    IFormFileCollection formFiles = Request.Form.Files;//获取上传的文件
                    if (formFiles == null || formFiles.Count == 0)
                    {
                        return Json(new { status = -1, message = "没有上传文件", filepath = "" });
                    }
                    IFormFile file = formFiles[0];
                    string fileExtension = file.FileName.Substring(file.FileName.LastIndexOf(".") + 1);//获取文件名称后缀 
                    //保存文件
                    var stream=file.OpenReadStream();
                    // 把 Stream 转换成 byte[] 
                    byte[] bytes = new byte[stream.Length];
                    stream.Read(bytes, 0, bytes.Length);
                    // 设置当前流的位置为流的开始 
                    stream.Seek(0, SeekOrigin.Begin);
                    // 把 byte[] 写入文件 
                    FileStream fs = new FileStream("D:\"+file.FileName, FileMode.Create);
                    BinaryWriter bw = new BinaryWriter(fs);
                    bw.Write(bytes);
                    bw.Close();
                    fs.Close(); 
                    return Json(new { success = true, status = 0, message = "上传成功",  filepath = "D:\"+file.FileName, code = Id });        
                }
     
                catch (Exception ex)
                {
                    return Json(new { success = false, status = -3, message = "上传失败", data = ex.Message, code = "" });
                }
            }

    文件下载

    /// <summary>
            /// 文件下载
            /// </summary>
            /// <param name="url"></param>
            /// <returns></returns>
            [HttpGet]
            public IActionResult DownLoadFile(string url)
            {
                try
                {
                    var stream = System.IO.File.OpenRead(url);
                    string fileExt = Path.GetExtension(url);
                    //获取文件的ContentType
                    var provider = new FileExtensionContentTypeProvider();
                    var memi = provider.Mappings[fileExt];
                    return File(stream, memi, Path.GetFileName(url));
                }
                catch (Exception ex)
                {
                    return NotFound();
                }
            }
  • 相关阅读:
    java设计模式之代理模式 ,以及和java 回调机制的区别
    oracle 安装,启动 ,plsql 连接
    jsp 访问文件夹中的图片,tomcat配置虚拟目录
    最实用解决tomcat startup.bat 一闪而过
    oracle 创建表
    java debug源码完整版
    node.js事件轮询(1)
    markdown命令语法
    mac常用的命令
    node + nginx + mongo搭建负载均衡
  • 原文地址:https://www.cnblogs.com/zhangxiaoshuai/p/11208525.html
Copyright © 2011-2022 走看看