基于JavaScript实现大文件上传后端代码实例

 更新时间:2020年08月18日 08:36:29   作者:松鼠的博客  
这篇文章主要介绍了基于JavaScript实现大文件上传后端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数

下面直接贴代码吧,一些难懂的我大部分都加上注释了:

上传文件实体类:

看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。

首先是文件数据接收逻辑,负责接收控件上传的文件块数据,然后写到服务器的文件中。控件已经提供了块的索引,大小,MD5和长度信息,我们可以根据需要来灵活进行处理,也可以将文件块的数据保存到分布式存储系统中。

文件初始化部分

第一步:获取RandomAccessFile,随机访问文件类的对象

第二步:调用RandomAccessFile的getChannel()方法,打开文件通道 FileChannel,这块逻辑可以优化,如果以后有分布式存储需求,可以改为分布式存储,减轻单台服务器的压力。

第三步:获取当前是第几个分块,计算文件的最后偏移量

第四步:获取当前文件分块的字节数组,用于获取文件字节长度

第五步:使用文件通道FileChannel类的 map()方法创建直接字节缓冲器MappedByteBuffer

第六步:将分块的字节数组放入到当前位置的缓冲区内mappedByteBuffer.put(byte[] b);

第七步:释放缓冲区

第八步:检查文件是否全部完成上传

文件夹扫描类

存储路径生成类

好了,到此就全部结束了,如果有疑问或批评,欢迎评论和私信,我们一起成长一起学习。

最后放一张实现的效果图

后端代码逻辑大部分是相同的,目前能够支持MySQL,Oracle,SQL。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • javascript在当前窗口关闭前检测窗口是否关闭

    javascript在当前窗口关闭前检测窗口是否关闭

    检测窗口是否关闭,在当前窗口关闭前使用js做到这一点,下面是具体的实现,感兴趣的朋友可以参考下
    2014-09-09
  • electron版本升级的简单步骤

    electron版本升级的简单步骤

    Electron是一款流行的跨平台框架,用于构建桌面应用程序,它基于Web技术栈,结合了Chromium和Node.js,可以使用HTML、CSS和JavaScript开发跨平台的应用程序,本文将介绍electron版本升级的简单步骤,并提供相应的源代码示例,需要的朋友可以参考下
    2024-05-05
  • 使用JavaScript和CSS实现文本隔行换色的方法

    使用JavaScript和CSS实现文本隔行换色的方法

    这篇文章主要介绍了使用JavaScript和CSS实现文本隔行换色的方法,当然最普通的也可以单纯用CSS实现,需要的朋友可以参考下
    2015-11-11
  • JavaScript 数据结构之集合创建(1)

    JavaScript 数据结构之集合创建(1)

    这篇文章主要介绍了JavaScript 数据结构之集合创建,集合是由一组无序且唯一的元素组成。数据结构中的集合,对应的是数学概念当中的有限集合;下文详细介绍需要的小伙伴可以参考一下
    2022-04-04
  • js数组的操作详解

    js数组的操作详解

    用js有很久了,但都没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)。对于字符的处理很多情况下需要用到数组
    2013-03-03
  • JavaScript数据类型转换详解(推荐)

    JavaScript数据类型转换详解(推荐)

    众所周知JavaScript是一门弱类型(语言,即变量的类型是不确定的。所以下面这篇文章主要给大家介绍了关于JavaScript数据类型转换的相关资料,需要的朋友可以参考下
    2021-05-05
  • 浅谈toLowerCase和toLocaleLowerCase的区别

    浅谈toLowerCase和toLocaleLowerCase的区别

    下面小编就为大家带来一篇浅谈toLowerCase和toLocaleLowerCase的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • js实现tab切换效果实例

    js实现tab切换效果实例

    这篇文章主要介绍了js实现的tab标签切换效果,功能非常简单,实现了点击切换的效果,推荐给大家,有需要的小伙伴可以参考下。
    2015-09-09
  • pageGroup.js实现分页功能

    pageGroup.js实现分页功能

    这篇文章主要为大家详细介绍了pageGroup.js实现分页功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • js中Generator函数的深入讲解

    js中Generator函数的深入讲解

    这篇文章主要给大家介绍了关于js中Generator函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Javascript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04

最新评论