首页 > 其他分享 >js实现分片上传文件

js实现分片上传文件

时间:2023-10-09 11:44:23浏览次数:22  
标签:end 上传 js start let file 分片 data size

<template>
<div>
<input type="file" @change="fileEvent" />
</div>
</template>
<script>
import axios from "axios";
export default {
data() {
return {
size: 1 * 1024 * 1024,//每片的大小
};
},
methods: {
fileEvent(e) {
let fileArr = this.sliceFile(e.target.files[0]);//获取到文件

let fileName = e.target.files[0].name;//保存文件名称
fileArr.forEach((e, i) => {//循环每片
let data = new FormData();//创建formdata对象
data.append("file", new File([e],fileName));//添加进去
data.append("totalNumber", fileArr.length)
data.append("chunkNumber", i)
this.uploadFile(data);
})
},
sliceFile(file) {
const chunks = [];
let start = 0;
let end;

while (start < file.size) {
end = Math.min(start + this.size, file.size);
chunks.push(file.slice(start, end));

console.log(file.slice(start, end));
console.log(start, end);

start = end;
}

return chunks;
},
//上传
uploadFile(data) {
axios.post("http://192.168.3.4:8081/file/upload", data)
.then(() => {}).catch((error) => {
console.error("文件上传失败", error);
});
},
},
};
</script>

 

参考文章:http://blog.ncmem.com/wordpress/2023/10/09/js%e5%ae%9e%e7%8e%b0%e5%88%86%e7%89%87%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6/

欢迎入群一起讨论

 

 

标签:end,上传,js,start,let,file,分片,data,size
From: https://www.cnblogs.com/songsu/p/17751332.html

相关文章

  • 【webapp】jsp EL 的基本语法和用法
    EL(表达式语言)是用于在JSP页面中访问和操作数据的简洁表达式语言。EL提供了一种简化和统一的方式来访问变量、属性、集合和其他对象。以下是EL的基本语法和用法:基本语法:${expression}:用于在JSP页面中嵌入EL表达式。${object.property}:访问对象的属性。${map.key}:访......
  • 【webapp】jsp 操作数据库
    在JSP中连接和操作数据库需要使用Java的JDBC(JavaDatabaseConnectivity)API。下面是学习在JSP中使用JDBC连接和操作数据库的基本步骤:导入JDBC驱动程序:下载并导入适合您所使用的数据库的JDBC驱动程序JAR文件。不同的数据库有不同的驱动程序。将JDBC驱动程......
  • 【webapp】在 JSP 页面中引入标签库和使用自定义标签
    自定义标签的基本步骤:创建自定义标签库文件:首先,您需要创建一个包含自定义标签定义的标签库文件(通常以 .tld 扩展名结尾)。该文件描述了标签的名称、属性和处理逻辑。引入标签库:在JSP页面中,通过使用 <%@taglib%> 指令来引入自定义标签库。该指令告诉JSP引擎在页面中......
  • js数组转字符串方法(转)
    JavaScript 允许数组与字符串之间相互转换。其中Array 方法对象定义了3 个方法,可以把数组转换为字符串,如表所示。数组方法说明toString()将数组转换成一个字符串toLocalString()把数组转换成本地约定的字符串join()将数组元素连接起来以构建一个字符串......
  • 基于Node.js的大文件分片上传
    我们在做文件上传的时候,如果文件过大,可能会导致请求超时的情况。所以,在遇到需要对大文件进行上传的时候,就需要对文件进行分片上传的操作。同时如果文件过大,在网络不佳的情况下,如何做到断点续传?也是需要记录当前上传文件,然后在下一次进行上传请求的时候去做判断。前端1.index.ht......
  • 【webapp】JSP 内置对象
    request:表示客户端的请求信息,可以用于获取请求参数、请求头、请求方法等。response:代表服务器对客户端的响应,可以用于设置响应头、响应内容等。out:是一个输出流对象,可以用于向客户端输出内容。session:表示用户的会话,可以用于在不同的页面之间共享数据。application:代表整个应......
  • 【webapp】JSP页面间跳转和包含
    在JSP中,有两种常见的页面间跳转和包含方式:转发(forward)和包含(include)。转发(Forwarding):通过转发,一个页面可以将请求转发给另一个页面进行处理,然后由该页面生成响应。转发是在服务器端完成的,客户端并不知道实际的页面地址。使用转发的语法是 request.getRequestDispatcher("......
  • 基于Java的大学生考勤系统的设计与实现(亮点:多角色、打卡签到、请假审批、上传成绩单文
    (高校学生综合测评管理系统)三、开发环境与技术3.1MySQL数据库本课题研究研发的应用程序在数据操作过程中是难以预测的,而且常常产生变化。没有办法直接从word里写数据,这不但不安全,并且难以实现应用程序的功能。想要实现运用所需要的数据存放功能,就必定要选择专业的数据库存储软......
  • 【webapp】JSP 标签的分类(动作标签、指令标签、表达式标签)
    SP(JavaServerPages)标签是用于在JSP页面中插入特定功能和逻辑的标记。根据其功能和用途,JSP标签可以分为以下三类:动作标签(ActionTags):动作标签用于执行特定的操作或调用服务器端的功能。它们通常以<jsp:开头,并以>结束。动作标签可以使用内置的JSP动作或自定义的标......
  • 【webapp】JSTL(JSP Standard Tag Library)
    JSTL(JSPStandardTagLibrary)是一个标准的JSP标签库,提供了一组用于处理常见任务的标签和函数,以简化JSP页面的开发。以下是关于JSTL的使用方法:引入JSTL标签库:在使用JSTL之前,首先需要在JSP页面中引入JSTL标签库。可以通过<%@taglib%>指令来完成引入。JSTL标......