当前位置: 首页 > news >正文

vue2+ThinkPHP5实现简单大文件切片上传

使用 Vue 2 和 ThinkPHP 5 实现大文件切片上传功能

文章目录

    • 一、前端(Vue 2)
      • 安装依赖
      • 文件上传并切片全部代码
    • 二、后端(ThinkPHP 5)
      • 完整代码

一、前端(Vue 2)

安装依赖

安装spark-md5依赖 用于生成文件哈希,以便验证文件的完整性。

npm install spark-md5

文件上传并切片全部代码

<template><div><!-- 文件输入元素,用于选择文件 --><input type="file" @change="handleFileChange" /><!-- 上传按钮,点击后调用 uploadChunks 方法 --><button @click="uploadChunks">上传</button></div>
</template><script>
// 导入 SparkMD5 库,用于生成文件哈希
import SparkMD5 from 'spark-md5';export default {data() {return {file: null, // 选中的文件chunkSize: 2 * 1024 * 1024, // 每个切片的大小,这里设置为 2MBchunks: [], // 存放文件切片的数组hash: '' // 文件的哈希值,用于验证文件的完整性};},methods: {// 处理文件选择事件handleFileChange(event) {this.file = event.target.files[0]; // 获取选中的第一个文件this.prepareChunks(); // 准备文件切片},// 准备文件切片prepareChunks() {const totalSize = this.file.size; // 文件的总大小let start = 0; // 切片的起始位置// 循环切割文件,直到处理完整个文件while (start < totalSize) {const end = Math.min(start + this.chunkSize, totalSize); // 确定切片的结束位置const chunk =</

相关文章:

  • 软件逆向基础-扫雷篇
  • copy_paste
  • 力扣-98.验证二叉搜索树
  • OA 系统办公自动化包含哪些内容,关键功能模块与操作要点说明
  • CodeBuddy 接入 MCP,一键生成网站!
  • 操作系统期末复习笔记
  • HCIP-Datacom Core Technology V1.0_1认识网络设备
  • 计算机网络:移动通信蜂窝网络指的是什么?
  • AI编程:使用Trae + Claude生成原型图,提示词分享
  • 集星云推碰一碰源码搭建的核心模块
  • 2005-2022年各省绿色信贷水平测算数据(含原始数据+计算过程+计算结果)
  • 【CSS】使用 CSS 绘制三角形
  • 【Alist+RaiDrive挂载网盘到本地磁盘】
  • 673SJBH基于ASP的公交系统
  • 电脑内存智能监控清理,优化性能的实用软件
  • UPS是什么?UPS 不间断电源有哪些适配的升压芯片?
  • ET ProcessInnerSender类(实体) 分析
  • 场景以及八股复习篇
  • 图像采集卡的核心功能功与应用详解
  • MQ防重复消费----去重表结合 Spring AOP 切面编程,抽象封装成通用幂等注解
  • 将人工智能送上太空,我国太空计算卫星星座成功发射
  • 视频|王弘治:王太后,“先天宫斗圣体”?
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单
  • 多家中小银行存款利率迈入“1时代”
  • 摩根士丹利:对冲基金已加码,八成投资者有意近期增配中国
  • 为证明我爸是我爸,我将奶奶告上法庭