局域网 web 大文件上传源代码

最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成。下面从文件上传方式入手,整理大文件上传的思路,并给出了相关实例代码,由于PHP内置了比较方便的文件拆分和拼接方法,因此服务端代码使用PHP进行示例编写。本文相关示例代码位于github上,主要参考聊聊大文件上传大文件切割上传文件上传的几种方式首先我们来看看文件上传的几种方式。普通表单上传使用PHP来展示常规的表单上传是一个不错的选择。首先构建文件上传的表单,并指定表单的提交内容类型为enctype="multipart/form-data",表明表单需要上传二进制数据。然后编写index.php上传文件接收代码,使用move_uploaded_file方法即可(php大法好…)form表单上传大文件时,很容易遇见服...

求浏览器 web文件上传源代码

我们平时经常做的是上传文件上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭浏览器后再打开)仍然能够继续上传,重启电脑后仍然能够上传支持文件夹的上传,要求服务端能够保留层级结构,并且能够续传。需要支持10万个以上的文件上传。支持低版本的系统和浏览器,因为这个项目的最终运行环境在政府,政府的配置都一般,职员都是办公用,内存都不大,基本上以WindowsXP的系统为主。 1、介绍enctypeenctype 属性规定发送到服务器之前应该如何对表单数据进行编码。enctype作用是告知服务器请求正文的MIME类型(请求消息头content-type的作用一样)1、1enctype的取值有三种值描述application/x-www-form-urlencoded在发送前编码所有字符(默认)multipart/form-data不对字符编码。每一个...

B/S web文件上传源代码

众所皆知,web上传文件,一直是一个痛。上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的。本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路。实现文件上传,要求:服务端保留层级结构,支持10w级别的文件上传。大文件上传及断点续传,要求:支持50G级的单个文件上传和续传。续传要求:在刷新浏览器后能够续传上传,在重启浏览器后能够继续上传上(关闭浏览器后重新打开),在重启电脑后能够继续上传。支持PC端全平台,Windows,Mac,Linux浏览器要求支持全部浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox 下面贴出简易DEMO源码分享:前端页面: 后端代码,此Demo是基于MVC架构的:后端代码我进行了模块划化,而不是网上的将所有的模块放在一个类中,这样对于以后的维护和升级来说都是一个灾难。 文件块处理逻辑 文件块保存逻辑如下 web.xml配置如下 整个项目的截图 依赖的JAR包如下 运行效果如下: 在此分享!希望多多指正~后端...
代码星球 代码星球·2020-04-03

javascript web文件上传源代码

前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对Http协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一.Http协议原理简介     HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(NextGenerationofHTTP)的建议已经提出。    简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点:  (1)支持客户/服务器模式。  (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法...

vue web文件上传源代码

一、功能性需求与非功能性需求要求操作便利,一次选择多个文件文件夹进行上传;支持PC端全平台操作系统,Windows,Linux,Mac支持文件文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息。支持文件夹批量上传下载,服务器端保留文件夹层级结构,服务器端文件夹层级结构与本地相同。支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验;支持文件上传文件夹中的文件数量达到1万个以上,且包含层级结构。支持断点续传,关闭浏览器或刷新浏览器后仍然能够保留进度。支持文件夹结构管理,支持新建文件夹,支持文件夹目录导航交互友好,能够及时反馈上传的进度;服务端的安全性,不因上传文件功能导致JVM内存溢出影响其他功能使用;最大限度利用网络上行带宽,提高上传速度;二、设计分析对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传上传的效率来看,利用多线程并发上传能够达到最大效率。三、解决方案:文件上传页面的前端可以选择使用一些比较好用的上传组件,例如百度的开源组件We...

html5 web文件上传源代码

众所皆知,web上传文件,一直是一个痛。上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的。本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路。实现文件上传,要求:服务端保留层级结构,支持10w级别的文件上传。大文件上传及断点续传,要求:支持50G级的单个文件上传和续传。续传要求:在刷新浏览器后能够续传上传,在重启浏览器后能够继续上传上(关闭浏览器后重新打开),在重启电脑后能够继续上传。支持PC端全平台,Windows,Mac,Linux浏览器要求支持全部浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox 下面贴出简易DEMO源码分享:前端页面: 后端代码,此Demo是基于MVC架构的:后端代码我进行了模块划化,而不是网上的将所有的模块放在一个类中,这样对于以后的维护和升级来说都是一个灾难。 文件块处理逻辑 文件块保存逻辑如下 web.xml配置如下 整个项目的截图 依赖的JAR包如下 运行效果如下: 在此分享!希望多多指正~后端...

webuploader web文件上传源代码

文件夹数据库处理逻辑public class DbFolder{    JSONObjectroot;       public DbFolder()    {        this.root= new JSONObject();        this.root.put("f_id", "");        this.root.put("f_nameLoc", "根目录");        this.root.put("f_pid", ""...

springmvc web文件上传源代码

javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求         <formid="postForm"action="${pageContext.request.contextPath}/UploadServlet"method="post"enctype="multipart/form-data">            <divclass="bbxxwrap">                <inputtype="text"id="s...

springboot web文件上传源代码

一、功能性需求与非功能性需求要求操作便利,一次选择多个文件文件夹进行上传;支持PC端全平台操作系统,Windows,Linux,Mac支持文件文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息。支持文件夹批量上传下载,服务器端保留文件夹层级结构,服务器端文件夹层级结构与本地相同。支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验;支持文件上传文件夹中的文件数量达到1万个以上,且包含层级结构。支持断点续传,关闭浏览器或刷新浏览器后仍然能够保留进度。支持文件夹结构管理,支持新建文件夹,支持文件夹目录导航交互友好,能够及时反馈上传的进度;服务端的安全性,不因上传文件功能导致JVM内存溢出影响其他功能使用;最大限度利用网络上行带宽,提高上传速度;二、设计分析对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传上传的效率来看,利用多线程并发上传能够达到最大效率。三、解决方案:文件上传页面的前端可以选择使用一些比较好用的上传组件,例如百度的开源组件We...

jsp web文件上传源代码

我们平时经常做的是上传文件上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。首先我们需要了解的是上传文件三要素:1.表单提交方式:post(get方式提交有大小限制,post没有)2.表单的enctype属性:必须设置为multipart/form-data.3.表单必须有文件上传项:file,且文件项需要给定name值上传文件夹需要增加一个属性webkitdirectory,像这样:<inputid="fileFolder"name="fileFolder"type="file"  webkitdirectory>不过webkitdirectory属性有个问题,只能支持高版本的chrome,不能支持低版本的IE,如ie6,ie7,ie8,不能做到全浏览器适配,运行环境比较单一。js中可以判断文件夹中文件数量及文件夹大小是否符合要求,不符合要求不能向后台提交:前台HTML模板this.GetHtmlFiles= function(){     var ...

csharp web文件上传源代码

ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现。下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压。ASP.NET页面设计:TextBox和Button按钮。TextBox中需要自己受到输入文件夹的路径(包含文件夹),通过Button实现选择文件夹的问题还没有解决,暂时只能手动输入。两种方法:生成rar和zip。1.生成rarusingMicrosoft.Win32;usingSystem.Diagnostics;protectedvoidButton1Click(objectsender,EventArgse)    {        RAR(@"E:95413594531GIS","tmptest",@"E:95413594531");    }    ///   ///&...

c# web文件上传源代码

HTML部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="up6.index" %><!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>     <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />   &n...
代码星球 代码星球·2020-04-03

.net web文件上传源代码

ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现。下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压。ASP.NET页面设计:TextBox和Button按钮。TextBox中需要自己受到输入文件夹的路径(包含文件夹),通过Button实现选择文件夹的问题还没有解决,暂时只能手动输入。两种方法:生成rar和zip。1.生成rarusingMicrosoft.Win32;usingSystem.Diagnostics;protectedvoidButton1Click(objectsender,EventArgse)    {        RAR(@"E:95413594531GIS","tmptest",@"E:95413594531");    }    ///   ///&...

asp.net web文件上传源代码

以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(IFormFilefile,stringuserId)        {            if(file!=null)    ...

php web文件上传源代码

核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。* 如何分片;* 如何合成一个文件;* 中断了从哪个分片开始。如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天性曾迫使我重新造轮子。但是因为时间的关系还有工作的关系,我只能罢休了。最后我选择了百度的WebUploader来实现前端所需。如何合,在合之前,我们还得先解决一个问题,我们如何区分分块所属那个文件的。刚开始的时候,我是采用了前端生成了唯一uuid来做文件的标志,在每个分片请求上带上。不过后来在做秒传的时候我放弃了,采用了Md5来维护分块和文件关系。在服务端合并文件,和记录分块的问题,在这方面其实行业已经给了很好的解决方案了。参考迅雷,你会发现,每次下载中的时候,都会有两个文件,一个文件主体,另外一个就是文件临时文件,临时文件存储着每个分块对应字节位的状态。这些都是需要前后端密切联系才能做好,前端需要根据固定大小对文件进行分片,并且请求中要带上分片序号和大小。前...
首页上一页...146147148149150...下一页尾页