asp.net core 多文件分块同时上传的组件

 更新时间:2023年12月11日 14:54:06   作者:IWing  
分享一个可多个文件同时上传、断点续传,并实时反馈上传进度的 Asp.Net core 组件,本文通过实例代码对asp.net core 多文件分块同时上传的组件知识介绍的非常详细,感兴趣的朋友一起看看吧

分享一个可多个文件同时上传、断点续传,并实时反馈上传进度的 Asp.Net core 组件。

服务器端

引用 nuget 包:JMS.FileUploader.AspNetCore

然后启用上传组件:

            app.UseAuthorization();
            app.MapControllers();
             //启用上传组件,并限制单个文件最大100M
            app.UseJmsFileUploader(1024*102400);
            app.Run();

在 Controller 里面,写个 Test 函数,处理上传的文件:

    [ApiController]
    [Route("[controller]/[action]")]
    public class MainController : ControllerBase
    {
        [HttpPost]
        public string Test([FromBody] object body)
        {
            var customHeader = Request.Headers["Custom-Header"];
            //临时文件路径
            var filepaths = Request.Headers["FilePath"];
            //文件名
            var filenames = Request.Headers["Name"];
            return filenames;
        }
    }

文件上传完毕,保存在临时文件中,Request.Headers["FilePath"] 可以读取这些文件的路径,如果确定要保留这些文件,用 File.Move 把它们移到你的目标文件夹当中;

Request.Headers["Name"] 则是读取文件名。

前端

引入 jms-uploader 组件:

      import JmsUploader from "jms-uploader"

html 元素:

    <input id="file1" multiple type="file" />
    <input id="file2" multiple type="file" />
    <button onclick="upload()">
        upload
    </button>
    <div id="info"></div>

javascript 脚本:

    async function upload() {
        //自定义请求头
        var headers = function () {
            return { "Custom-Header": "test" };
        };
        //提交的body
        var dataBody = {
            name: "abc"
        };
        var uploader = new JmsUploader("http://localhost:5200/main/test", [document.querySelector("#file1").files, document.querySelector("#file2").files], headers, dataBody);
        uploader.setPartSize(1024);//设置分块大小,默认是102400
        uploader.onUploading = function (percent, uploadedSize, totalSize) {
            document.querySelector("#info").innerHTML = percent + "% " + uploadedSize + "," + totalSize;
        };
        var ret = await uploader.upload();
        //上传完毕
        alert(ret);
    }

组件源码地址

https://github.com/simpleway2016/JMS.FileUploader.git

到此这篇关于asp.net core 多文件分块同时上传的组件的文章就介绍到这了,更多相关asp.net core 多文件上传内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • asp.net+sqlserver实现的简单高效的权限设计示例

    asp.net+sqlserver实现的简单高效的权限设计示例

    大部分系统都有权限系统。一般来说,它能管控人员对某个否页面的访问;对某些字段、控件可见或者不可见。对gridview中的数据是否可删除、可添加、可新增等等。
    2010-04-04
  • 在ASP.NET中用MSDNURLRewriting实现Url Rewriting

    在ASP.NET中用MSDNURLRewriting实现Url Rewriting

    在ASP.NET中用MSDNURLRewriting实现Url Rewriting...
    2007-03-03
  • ASP.NET MVC5网站开发用户注册(四)

    ASP.NET MVC5网站开发用户注册(四)

    上一次把基本框架搭建起来了,这次开始整Web部分,终于可以看到界面了小激动一下,web项目部分从用户功能开始,基本有注册,登录、注销、查找、查看、删除等涉及Member区域和Manage区域,供大家参考,具体内容如下
    2015-09-09
  • 通过jmeter压测surging的方法

    通过jmeter压测surging的方法

    Jmeter是Apache开源的一个使用纯Java编写的压力测试工具,它最初是为测试web应用程序而设计的,但后来扩展到了其他测试功能,这篇文章主要介绍了通过jmeter压测surging的相关知识,需要的朋友可以参考下
    2022-07-07
  • 在FireFox/IE下Response中文文件名乱码问题解决方案

    在FireFox/IE下Response中文文件名乱码问题解决方案

    只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助
    2013-02-02
  • ASP.NET中MD5与SHA1加密的几种方法

    ASP.NET中MD5与SHA1加密的几种方法

    下面就是ASP.NET中几种加密方法。加密算法有两种,也就是上面提到的MD5和SHA1,这里我举的例子是以MD5为例,SHA1大致相同,只是使用的类不一样。
    2010-04-04
  • 手把手教你mvc导入excel

    手把手教你mvc导入excel

    这篇文章主要为大家详细介绍了手把手教你mvc导入excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Grid或者DataTable中数据导出为Excel原来这么简单

    Grid或者DataTable中数据导出为Excel原来这么简单

    以前一直认为,将Grid 或者DataTable中的数据导出到Excel功能实现会非常复杂,可能会想用什么类库什么的或者实在太难就用csv算了,没想到真的很简单,需要了解的朋友可以参考下
    2012-12-12
  • Asp.net使用SignalR实现聊天室的功能

    Asp.net使用SignalR实现聊天室的功能

    这篇文章主要介绍了Asp.net使用SignalR实现聊天室的功能的相关资料,需要的朋友可以参考下
    2016-04-04
  • 使用EF的Code First模式操作数据库

    使用EF的Code First模式操作数据库

    这篇文章介绍了使用EF的Code First模式操作数据库,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论