.net core版 文件上传/ 支持批量上传拖拽及预览功能(bootstrap fileinput上传文件)

 更新时间:2017年03月27日 16:46:15   作者:为影封尘  
本篇内容主要解决.net core中文件上传的问题 开发环境:ubuntu+vscode.本文给大家介绍的非常详细,感兴趣的朋友一起看看吧

上篇文章给大家介绍了MVC文件上传支持批量上传拖拽及预览文件内容校验功能

本篇内容主要解决.net core中文件上传的问题  开发环境:ubuntu+vscode

1.导入所需要的包:nuget install bootstrap-fileinput

注意:这里的导包需要在终端导入【需要在wwwroot文件夹下执行nuget命令】如下图

如果发现没有nuget命令,则需要通过apt-get 或者yum 给系统安装nuge包管理工具,这个nuget和vscode中的插件不是一回事

2前台页面编写:

index.cshtml:

@{
 ViewData["Title"] = "Home Page";
 Layout = null;
}
<script src="~/jQuery.1.9.0/Content/Scripts/jquery-1.9.0.js"></script>
<script src="~/bootstrap.3.3.0/content/Scripts/bootstrap.js"></script>
<link rel="stylesheet" href="~/bootstrap.3.3.0/content/Content/bootstrap.css" rel="external nofollow" >
<script type="text/javascript" src="~/bootstrap-fileinput.4.3.8/content/Scripts/fileinput.js"></script>
<script type="text/javascript" src="~/bootstrap-fileinput.4.3.8/content/Scripts/locales/zh.js"></script>
<link rel="stylesheet" href="~/bootstrap-fileinput.4.3.8/content/Content/bootstrap-fileinput/css/fileinput.css" rel="external nofollow" >
 <script type="text/javascript">
  $(function () {
   var control = $("#txt_file");
   var uploadrul = "/Home/UploadFile";
   control.fileinput({
    language: 'zh', //设置语言
    uploadUrl: uploadrul, //上传的地址
    allowedFileExtensions: ['png'],//接收的文件后缀
    showUpload: true, //显示批量上传按钮
    showCaption: false,//是否显示标题
    browseClass: "btn btn-primary", //按钮样式  
    dropZoneEnabled: true,//是否显示拖拽区域
    //minImageWidth: 50, //图片的最小宽度
    //minImageHeight: 50,//图片的最小高度
    //maxImageWidth: 1000,//图片的最大宽度
    //maxImageHeight: 1000,//图片的最大高度
    //maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小
    //minFileCount: 0,
    maxFileCount: 100,
    enctype: 'multipart/form-data',
    validateInitialCount: true,
    previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
    msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!",
   });
   //导入文件上传完成之后的事件
   $("#txt_file").on("fileuploaded", function (event, data, previewId, index) {
   });
  });
 </script>
</table>
 <div> 
  <form>
   <div>
    <div class="modal-header">
     <h4 class="modal-title" id="myModalLabel">请选择xml文件</h4>
    </div>
    <div class="modal-body">
     <input type="file" name="txt_file" id="txt_file" multiple class="file-loading" />
    </div>
   </div>
  </form>
 </div>

基本上和asp.net mvc下边没有区别,只有一个地方需要特别注意一下,外部的script和css文件的引用文件需要放到wwwroot文件中,而不是项目的根目录下。

预览图:

3.主要的区别 ,后台

代码如下:

public JsonResult UploadFile()
  {
   uploadResult result = new uploadResult();
   try
   {
    var oFile = Request.Form.Files["txt_file"];
    Stream sm=oFile.OpenReadStream();
    result.fileName = oFile.FileName;
    if(!Directory.Exists(AppContext.BaseDirectory+"/Image/"))
    {
     Directory.CreateDirectory(AppContext.BaseDirectory+"/Image/");
    }
    string filename=AppContext.BaseDirectory+"/Image/" + DateTime.Now.ToString("yyyymmddhhMMssss")+Guid.NewGuid().ToString() + ".png";
    FileStream fs=new FileStream(filename,FileMode.Create);
    byte[] buffer =new byte[sm.Length];
    sm.Read(buffer,0,buffer.Length);
    fs.Write(buffer,0,buffer.Length);
    fs.Dispose();
   }
   catch(Exception ex)
   {
    result.error = ex.Message;
   }
   return Json(result);
  }
  public class uploadResult
  {
   public string fileName { get; set; }
   public string error { get; set; }
  }

在netcore中无法再通过Request.Files对象来获取从前台传递的文件,这里需要使用Request.Form.Files来获取来自客户端提交的文件,接下来需要一个uploadResult结构体,给前台返回json对象  这个结构中必须包含error字段,用来给前台返回错误数据,详情查看官方文档-官网地址

附一张最终的上传成功保存到本地的图片:

以上所述是小编给大家介绍的.net core版 文件上传/ 支持批量上传拖拽及预览功能(bootstrap fileinput上传文件),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • ASP.NET中在一般处理程序中使用session的简单介绍

    ASP.NET中在一般处理程序中使用session的简单介绍

    这篇文章介绍了ASP.NET中在一般处理程序中使用session,有需要的朋友可以参考一下
    2013-10-10
  • .NET发送邮件的实现方法示例

    .NET发送邮件的实现方法示例

    这篇文章主要给大家介绍了关于.NET发送邮件的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法

    asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法

    这篇文章主要介绍了asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法,结合实例形式分析了asp.net中反射,泛型,静态方法给model赋值的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 浅谈Asp.Net母版页和内容页运行机制

    浅谈Asp.Net母版页和内容页运行机制

    这篇文章主要介绍了浅谈Asp.Net母版页和内容页运行机制,详细的介绍了母版页和内容页的运行过程步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • asp.net 冒泡算法的理解

    asp.net 冒泡算法的理解

    您真的理解冒泡排序吗?还是背下来了呢?冒泡排序真的只有一种方法吗?
    2010-05-05
  • ASP.NET笔记之 控件与母板的区别分析

    ASP.NET笔记之 控件与母板的区别分析

    本篇文章小编为大家介绍,ASP.NET笔记之 控件与母板的区别分析。需要的朋友参考下
    2013-04-04
  • asp.net 截取Http请求的实现代码

    asp.net 截取Http请求的实现代码

    本篇文章比较短,主要是因为我的一个随想产生的一段代码。 这段代码的功能你可以叫做是简单的Http服务器也可以叫做Http请求截取。它实现的功能就是截取Http请求然后自己做处理。
    2010-06-06
  • Winform OpenFileDialog打开文件对话框

    Winform OpenFileDialog打开文件对话框

    这篇文章主要为大家详细介绍了Winform OpenFileDialog打开文件对话框 的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • asp.net读取模版并写入文本文件

    asp.net读取模版并写入文本文件

    本文要介绍的是ASP.NET怎样读写文本文件,但更重要的是实现的过程。使用的工具是Visual Studio 2015 ,.NET版本是4.6.1 。一共建立的2个项目,HoverTreePanel和HoverTreeWeb,都是ASP.NET项目。文章末尾附源码下载。下面跟着小编一起来看下吧
    2017-01-01
  • ASP.NET连接 Access数据库的几种方法

    ASP.NET连接 Access数据库的几种方法

    这篇文章主要介绍了ASP.NET连接 Access数据库的几种方法,每种方法都非常不错,具有参考借鉴价值,需要的朋友一起学习吧
    2016-08-08

最新评论