利用Zip.js压缩并上传文件,后端使用.Net(Winform)接收转存
没时间解释了,快上车...
前端js:
upload=function () { if(window.FormData) { var fileslist=$("input[type='file']"); if(fileslist.length>0) { if(fileslist.get(0).files[0]!=undefined) { var Thefile=fileslist.get(0).files[0]; UpdateProgressBar(0,"正在压缩..."+"0%"); var zip=new JSZip(); zip.file(Thefile.name, Thefile); zip.generateAsync({type:"Blob",compression: "DEFLATE",},function updateCallback(metadata){UpdateProgressBar(metadata.percent.toFixed(2),"正在压缩..."+metadata.percent.toFixed(2)+"%");}).then(function(content) //级别:1最快,9最小 { var file = new File([content],'upload.zip',{type: "zip"}); var dict=new FormData(); dict.append("fileContent",file); var xhr=new XMLHttpRequest(); xhr.open('POST', USERNAME+";"+obj+";"+date+";"+startTime+";"+endTime,true); xhr.upload.onprogress=function(event) { if(event.lengthComputable) { UpdateProgressBar((event.loaded / event.total * 100 | 0),"正在上传..."+(event.loaded / event.total * 100 | 0)+"%"); if((event.loaded / event.total * 100 | 0)>=100) { hideUploadProgressBar(); } } } xhr.send(dict); }); } } } }
有一说一:博客园这些个编辑器是要逼死强迫症吗?
后台c#
HttpListenerContext nowContext = MainHttpListener.EndGetContext(ar); HttpListenerRequest request = context.Request; MemoryStream ms = new MemoryStream(); request.InputStream.CopyTo(ms); var buff = ms.ToArray(); var msg = System.Text.Encoding.ASCII.GetString(buff); sec2 = msg; int index = sec2.IndexOf("PK");//压缩包文件PK开头 string front = sec2.Substring(0, index); List<byte> A = new List<byte>(); A.AddRange(buff); List<byte> B = new List<byte>(); B.AddRange(System.Text.Encoding.ASCII.GetBytes(front)); A.RemoveRange(0, B.Count); byte[] writeBytes = A.ToArray();//此为文件字节,File.WriteAllByte()存为zip,便可以了,可正常解压; ConsoleUserColor.SetColorText("文件接收成功");
利用Zip.js压缩并上传文件,后端使用.Net(Winform)接收转存的更多相关文章
- js实现分段上传文件
使用js实现分段上传文件,本文使用了FileReader对象,可参考:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader 1)获取文 ...
- HTML5 file API加canvas实现图片前端JS压缩并上传
一.图片上传前端压缩的现实意义 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验. 这种体验包括两方面: 由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅 ...
- 利用jquery.form实现异步上传文件
实现原理 目前需要在一个页面实现多个地方调用上传控件上传文件,并且必须是异步上传.思考半天,想到通过创建动态表单包裹上传文件域,利用jquery.form实现异步提交表单,从而达到异步上传的目的,在上 ...
- js压缩图片上传插件localResizeIMG
示例 /** * 本地图片压缩后上传 */ $("#vfile").change(function(){ var _this = $(this); lrz(this.files[0 ...
- js 压缩图片 上传
感谢,参考了以下作者的绝大部分内容 https://blog.csdn.net/tangxiujiang/article/details/78755292 https://blog.csdn.net/ ...
- js无刷新上传文件
传统的文件上传方式 <form action="" method="POST" enctype="multipart/form-data&quo ...
- Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)
目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能---- ...
- JS 异步分段上传文件
为了解决大文件上传 (PHP上传最大限制2GB) 同时为了解决文件上传是对服务器造成的压力 可以通过分段上传解决这个问题,这得益于HTML5开发的file API 前台代码: 引用了进度条插件myPr ...
- Nodejs学习笔记(八)—Node.js + Express 实现上传文件功能(felixge/node-formidable)
前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次 ...
- c#+js 使用formdata上传文件
如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name=" ...
随机推荐
- MySQL数据库的集群方案
读写分离结构(主从) 读多写少,也就是对数据库读取数据的压力比较大. 其中一个是主库,负责写入数据,成为写库:其他都是从库,负责读取数据,成为读库. 对我们的要求: 读库和写库的数据一致: 写数据必须 ...
- 快速搭建 phpmyadmin 开发环境
真的很喜欢 phpmyadmin 这个 PHP 程序. 虽然工作上基本都用 Navicat,但是很多东西都是习惯了,就很难改变! 比如建表,执行 SQL 语句,界面操作肯定是 phpmyadmin 更 ...
- C语言基础-基础指针
文章目录 指针 前言 1.什么是指针 2.指针的使用 (1)指针的定义 (2)指针的赋值 (3)指针类型 (4)如何使用指针 3.野指针 (1)导致野指针的原因 ① 未初始化指针 ②指针越界访问 ③指 ...
- 新版Google浏览器跨域Cookie解决方案
一.前言 针对Chrome版本67及以上 不能将其他域的Cookie传递过来 注意,这个里面的SameSite不能设为null,设空的话,还是会走默认值Lax 其中,SameSite的值可以填3个:S ...
- 【MAUI Blazor踩坑日记】2.关于Windows上的相机问题
前言 本系列文章,默认你已经踏上了MAUI Blazor的贼船,并且对MAUI Blazor有了一些了解,知道MAUI是什么,知道Blazor是什么. 不会教你怎么写MAUI Blazor的项目,只是 ...
- Unity UGUI的Outline(描边)组件的介绍及使用
Unity UGUI的Outline(描边)组件的介绍及使用 1. 什么是Outline(描边)组件? Outline(描边)组件是Unity UGUI中的一种特效组件,用于给UI元素添加描边效果.通 ...
- FlinkSQL类型系统
类型有什么作用, 类型可以提供编译期检查, 避免到运行期才报错. 类型 首先Flink中自己定义了一套类型, 有LogicalType和DataType两个表示 LogicalType Logical ...
- [论文阅读] 颜色迁移-Illuminant Aware Gamut-Based
[论文阅读] 颜色迁移-Illuminant Aware Gamut-Based 文章: [Illuminant Aware Gamut-Based Color Transfer], [python代 ...
- [jmeter]简介与安装
简介 JMeter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能. 安装 安装jmeter 从 官网 下载jmeter的压缩包 安装jdk并配置 JAVA_H ...
- 基于 ASP.NET 的投票系统
OnlineVoting 基于 ASP.NET 的投票系统 功能页面 登录 注册 首页 投票广场 查看别人发布的投票. 个人中心 个人资料 换头像.修改密码和其他信息. 发布投票 项目地址:https ...