首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JAVA

    SpringBoot超大文件上传(总结)

    SpringBoot超大文件上传,秒传!分片上传!断电续传! (总结) 文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后 如果标志位为false,则说明还没上传完成,此时需要在调用set的方法,保存块号文件记录的路径,其中key为上传文件md5加一个固定前缀,value为块号文件记录路径 二. 分片上传 1、什么是分片上传 分片上传,就是将所要上传的文件,按照一定的大小,将整个文件分隔成多个数据块(我们称之为Part)来进行分别上传,上传完之后再由服务端对所有上传的文件进行汇总整合成原始的文件 分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件

    92410编辑于 2024-11-20
  • 来自专栏javascript技术

    如何对超大JS文件混淆加密?

    有些时候,我们会有一些很大的JS文件代码需要混淆加密,例如: 这个3.4MB的JS文件,通常来说是不容易一次性完成混淆加密的。因为代码量太大。 因此,对这样量极的JS代码进行混淆加密,在线的JS加密工具,是不允许的,不接受这样大的文件,或需要高权限。 如果我们要处理这样大的文件,需要些技巧。 方法一、 这样大的文件,通常不是手写完成的,而是使用各种工具打包、编译生成的。比如可能是webpack将很多文件打包在了一起,或者可能是h5游戏引擎(cocos、白鹭,等等)编译而成。 只能处理这个大的JS文件。 处理方式,也不太复杂。以上面给出的文件为例。 首先,将JS代码格式化(上图中可见,文件是压缩成一行的,如果是未压缩的代码,则不必格式化)。 如果是企业级的应用,经常有这样处理大JS文件的需要,如此处理可能还是有些繁琐。更直接的方法是使用JShaman的本地部署,是不限文件大小的。

    1.3K10编辑于 2023-07-20
  • 来自专栏用户6892318的专栏

    超大文件上传方案( Web )

    支持文件批量上传 支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W。 支持大文件断点续传,要求刷新浏览器,重启浏览器,重启电脑后仍然能够继续上传。 文件大小要求能够支持到20个G。 支持自动加载本地文件,要求能够自动加载指定的本地文件。 支持文件批量下载,要求不要在服务器打包。因为20G的文件在服务器打包时间比较长。 每次上传文件片前先获取已上传的文件大小,确定本次应切割的位置 每次上传完成后更新已上传文件大小的记录 标识客户端和服务端的文件,保证不会把A文件的内容追加到B文件上 在参考了张鑫旭大哥的这篇文章后, 详细内容可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/09/%e5%a4%a7%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc %a0%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/

    4.3K40发布于 2020-01-13
  • 来自专栏用户6892318的专栏

    超大文件上传方案( SpringMVC )

    众所皆知,web上传大文件,一直是一个痛。上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的。 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路。 实现文件夹上传,要求:服务端保留层级结构,支持10w级别的文件夹上传。 大文件上传及断点续传,要求:支持50G级的单个文件上传和续传。 支持PC端全平台,Windows,Mac,Linux 浏览器要求支持全部浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox 下面贴出简易DEMO源码分享: 前端页面: 后端代码, 文件块处理逻辑 文件块保存逻辑如下 web.xml配置如下 整个项目的截图 依赖的JAR包如下 运行效果如下: 在此分享! 在使用前需要配置一下数据库,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/java超大文件上传与下载/

    1.9K20发布于 2020-01-13
  • 来自专栏葫芦

    python 超大文件分析Thread seek

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/9/16 上午2:00 # @Author : BrownWang # @Email : 277215243@qq.com # @File : Analysis.py # @Software: PyCharm import re import heapq import threading from multiprocessing import Pool dic={}

    67010发布于 2019-04-17
  • 来自专栏大文件上传控件

    超大文件上传方案( WebUploader )

    文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject pidRoot) { //默认加载根目录 String sql = String.format("select f_id,f_nameLoc,f_pid,f_pidRoot from up6_ null, btn: { del: null, cancel: null,post:null,stop:null }, div: null}; this.isFolder = false; //不是文件夹 FilePos: "0" , lenSvr: "0" , perSvr: "0%" , complete: false , deleted: false };//json obj,服务器文件信息 在使用前需要配置一下数据库,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/java超大文件上传与下载/

    1K30发布于 2020-01-13
  • 来自专栏全栈程序员必看

    CSV超大文件查看器

    免费下载地址: CSV查看器超大文本查看器(HkExcel)单文件绿色免安装-WindowsServer文档类资源-CSDN文库 几G的文件10多秒就可以打开了, 单文件绿色免安装的, 下载就可以直接使用

    2.6K10编辑于 2022-09-16
  • 来自专栏用户6892318的专栏

    超大文件上传方案( BS )

    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 ,看到了文件大小超出限制等 了解了BJUI前端框架对于上传大文件的限制,可以这样使用,增大文件上传大小和数量,可以按照如下进行修改,我们在bjui-all.js文件看到uploadLimit属性和fileSizeLimit 关于Uploadify控件属性可以参考这篇文章也可以直接看官网文档: http://blog.ncmem.com/wordpress/2019/08/07/java超大文件上传与下载/ 属性名称 默认值 注意此项并非最大文件上传数量,如果要限制最大上传文件数量,应设置uploadLimit。 以上需要注意的是maxPostSize属性在各个Tomcat版本中的不同,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/java超大文件上传与下载

    1.8K20发布于 2020-01-13
  • 来自专栏编程语言的世界

    php curl 下载远程超大文件

    php curl 下载远程超大文件 ,最近在下载视频中总结出来的。 $ch, CURLOPT_FOLLOWLOCATION, true);    curl_exec($ch);    curl_close($ch);    fclose($fp);}优点是不占用内存,文件自动追加

    1.4K20编辑于 2023-06-03
  • 来自专栏强仔仔

    超大CSV文件如何最快速度解析

    背景:今天被人问到一个10G的超大CSV如何最快速度读取,并插入到数据库中。一般读取文件都是单线程一直往下读,但是如果文件特别大的情况下就会很慢。如何快速读取? 从上图我们可以看出,操作系统里面包含文件系统,可以快速根据文件路径定位到文件具体位置,文件本身并非直接存储在磁盘上面的,一个文件由很多块组成,根据不同的文件系统,每一个块的默认大小也都不一样,比如在 Windows 系统下,默认的 NTFS 文件系统的文件块大小为 4KB。 大转小后多线程读取 将大文件拆分为一个个小文件,然后多线程去读取各个小文件,这样速度会比读取一个大文件快很多,而且读取的程序也比较简单。 例如linux提供了split命令,可以按照行和字节进行拆分。 因为线程再多,最大的读取速度也受限于:文件所在机器的IO、应用机器和文件所在机器的网络、应用机器的IO这几方面,可以继续在这几方面优化。看似简单大文件读取操作,却涉及底层文件系统。

    2.4K30编辑于 2023-04-03
  • 来自专栏葫芦

    python 超大文件分析map_async seek

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/9/16 上午2:00 # @Author : BrownWang # @Email : 277215243@qq.com # @File : Analysis.py # @Software: PyCharm import re import heapq import threading from multiprocessing import Pool dic={}

    89120发布于 2019-04-17
  • 来自专栏JackeyGao的博客

    用户Python3解析超大的csv文件

    用户Python3解析超大的csv文件 Posted August 15, 2016 我在日前获得一个任务,为了做分析, 从一个超大的csv文件中解析email地址和对应的日期时间戳然后插入到数据库中. 这个csv文件超过了2G, 200万条的数据. 起初, 我尝试用excel打开这个文件, 来查看数据 。不幸的是, 我的excel程序开始假死最后我不得不杀掉excel进程. email_records: for email_record in csv.reader(email_records): if len(email_record) == 6: ascii_email_record) 关于NamedTuples, 它属于标准库里面的, 可以访问这里查看文档 NamedTuples 总结 我们只是学习怎么让自己的电脑不死机, 然后友好的处理大的文件

    1.6K20发布于 2018-08-02
  • 来自专栏无限可能的程序开发

    前端下载超大文件的完整方案

    合并文件: 下载完成后,将所有分片文件合并成一个完整的文件。 已下载的文件怎么存储? 浏览器的安全策略禁止网页(JS)直接访问和操作用户计算机上的文件系统。 在分片下载过程中,每个下载的文件块(chunk)都需要在客户端进行缓存或存储,方便实现断点续传功能,同时也方便后续将这些文件块合并成完整的文件。 这样可以确保在下载大文件时不会因为内存占用过多而导致性能问题。 在上面提供的示例代码中,文件块是暂时保存在一个数组中的,最终在mergeChunks()方法中将这些文件块合并成完整的文件。 如果你希望将文件块保存在本地存储中,可以根据需要修改代码,将文件块保存到 IndexedDB 或 LocalStorage 中。

    1.8K10编辑于 2024-03-27
  • 来自专栏用户5447549的专栏

    TiDB Lightning导入超大型txt文件实践

    Lightning 导入简单的txt文件 虽然官网文档明确表示 TiDB Lightning 支持以下文件类型: Dumpling 生成的文件 CSV 文件 Amazon Aurora 生成的 Apache ​ [lightning] level = "info" file = "tidb-lightning.log" index-concurrency = 2 table-concurrency = 6 ​ 大文件导入优化 Lightning 的最佳工作模式是处理大量的小文件,官网给出的建议值是单个数据文件不超过256M,经过实测发现,默认情况下 Lightning 对大文件的处理确实不够理想,风险包括: 手动拆分 100万行做拆分,总耗时13m54s 生产环境实践 近期上线的一个项目约有100个铺底数据文件,累计大小12T+,单个文件最大2.1T,采用手动拆分+分批导入的方案,6台物理机同时干活,充分利用现有的机器资源 虽然全篇都在以txt文件作为演示,但csv文件也同样适用前面描述的几种处理方式。 最后,希望本文能帮助到正在受大文件导入折磨的小伙伴们~

    1.9K10编辑于 2022-10-31
  • 来自专栏iSharkFly

    Confluence 6 文件

    通过将你的文件上传到 Confluence 能够让你在一个统一的地方分享你项目小组的 PDF 文件,Office 文档,图片以及更多的内容。 当你上传一个文件并且附加到当前的页面或者博客页面,这就是为什么文件在 Confluence 中通常被称为附件(attachments)。 你可以添加任何形式的文件,从项目计划,设计草图,视频或者音频文件。你和你的同事可以通过在包含有附件的页面中 对文件进行评论(commenting on files)来进行协同工作。 使用文件 Display Files and Images Manage Files Upload Files Share and Comment on Files Edit Office Files https://www.cwiki.us/display/CONF6ZH/Files (adsbygoogle = window.adsbygoogle || []).push({});

    67430发布于 2019-08-05
  • 来自专栏全栈程序员必看

    Snapde一个全新的CSV超大文件编辑软件

    Snapde,一个专门为编辑超大型数据量CSV文件而设计的单机版电子表格软件;它在C++语言开发的Snapman多人协作电子表格内核基础上进行了重新设计,换用C语言重新开发内核,比Snapman的电子表格核心有了质的提升 Snapde安装包15.4m(主要python语言的文件占用空间),主程序非常轻巧启动超快;下面来一些大文件CSV测试其性能(1个三百多兆,1个一个G,1个3.53G): 1、deputies_dataset.csv 文件文件大小325.98m,3014903行10列(30149030个单元格) 打开截图: 打开时间花费:20秒 内存占用497.8M: 2、ft_train.csv文件文件大小1.05G ,307512行903列(277683336个单元格) 打开截图: 打开时间花费:1分30秒 内存占用2.8G: 3、yelp_review.csv文件文件大小3.53G,5261669行 10列(52616690个单元格) 打开截图: 打开时间花费:2分14秒 内存占用4.09G: CSV文件是一种文本文件,我们使用世界上最厉害的文本编辑器之一:64位的notepade++

    6.5K30编辑于 2022-09-06
  • 来自专栏全栈程序员必看

    mysql 导入 csv 大文件怎么打开_mysql导入超大内存的csv文件

    is running with the –secure-file-priv option so it cannot execute this statement 解决方法: 【我的做法】【必须SQL文件和数据表都要在指定目录中

    8.7K30编辑于 2022-09-16
  • 来自专栏iSharkFly

    Confluence 6 图片文件

    选择图片文件边上的 属性(Properties)。 为附件添加 评论(comment),这个添加的评论将会显示为图片字幕。 你需要在为你图片每次上传新的版本的时候重新输入评论内容。 https://www.cwiki.us/display/CONF6ZH/Display+Files+and+Images (adsbygoogle = window.adsbygoogle

    91120发布于 2019-08-07
  • 来自专栏iSharkFly

    Confluence 6 图片文件

    选择图片文件边上的 属性(Properties)。 为附件添加 评论(comment),这个添加的评论将会显示为图片字幕。 你需要在为你图片每次上传新的版本的时候重新输入评论内容。 https://www.cwiki.us/display/CONF6ZH/Display+Files+and+Images

    64730发布于 2019-08-05
  • 来自专栏iSharkFly

    Confluence 6 上传文件

    上传一个文件到页面中你需要具有空间的权限 添加附件(Add Attachments)。 上传一个文件 有多种办法可以上传一个文件到页面中。 在页面编辑器中,你可以: 将文件直接拖动到页面中。 接受的文件类型和大小 Confluence 允许你添加几乎任何类型的文件,但是你不能添加文件所在的文件夹(包括类似 Keynote 创建的文件夹,你需要将你需要上传的文件夹压缩成 ZIP 格式或者其他格式 文件版本 如果你上传的文件具有和页面中已经存在的文件有相同的文件名,Confluence 将会覆盖已经存在的文件,针对所有的附件,Confluence 保留附件的版本历史。 文件将会被获取和索引 当一个文件被上传后,这个文件中的文本将会获取并且被索引,这个能够允许人们对文件的内容进行搜索而不仅仅只对文件名进行搜索。 https://www.cwiki.us/display/CONF6ZH/Upload+Files (adsbygoogle = window.adsbygoogle || []).push(

    1.5K20发布于 2019-08-05
领券