利用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=" ...
随机推荐
- 详解nvim内建LSP体系与基于nvim-cmp的代码补全体系
2023年,nvim以及其生态已经发展的愈来愈完善了.nvim内置的LSP(以及具体的语言服务)加上众多插件,可以搭建出支持各种类型语法检查.代码补全.代码格式化等功能的IDE.网络上关于如何配置的文 ...
- OO第一次大作业
前言 前言的前言 这是我的第一篇blog,有点小激动,我还找教程设置了一下我的背景,本来还想弄个页面小宠物,但是看了一下感觉有点复杂,下次一定.如果对我blog的内容有任何修正或者建议可以评论让我知道 ...
- MySQL的索引详解
在MySQL中,常见的索引类型有以下几种: B-Tree索引: B-Tree(Balanced Tree)索引是MySQL中最常见的索引类型.它基于B-Tree数据结构,适用于等值查询.范围查询和排序 ...
- VScode 中golang 调试 F5,json文件内容更改 Go
调试:在Vscode软件中调试.go文件代码 1.1.1 确保调试文件正常运行 准备好.go文件,并且该文件能正常运行,终端输入命令运行程序,如:go run time.go 测试代码: packag ...
- (转)[Android测试] Android Studio+Appium+Java+Windows 自动化测试之二:Appium环境安装搭建
一.需要下载安装的东西 1. 文件下载 网上也有挺多安装教程的,这里我提供我的安装方法.Win10 64位.一些文件我在后面打包. 2016.9.12号本人安装记录. SDK: 由于我是搞Androi ...
- 【解惑】介绍.net中的DataTable的AcceptChanges方法
DataTable.AcceptChanges方法是一个用于DataTable对象的方法,它将所有对DataTable进行的更改标记为已接受.这意味着所有新增.修改和删除的行都将被标记为DataRow ...
- centos7安装weblogic
前言 简介:weblogic是java应用服务器软件的一种,类似于tomcat,但功能更多,适用于大型应用场景. 版本: 系统:centos 7(最小化安装,无图形化界面) jdk: oraclejd ...
- 关于3D-AIGC的调研与探讨
0.前言 本文是自己最近在项目上的需要做的一些调研和自己的一些看法,以分享为主. 2D AIGC(文生文.文生图.图生图)在今天大放异彩,产生了许多惊艳的效果,如ChatGPT系列.Imagen.DA ...
- Java 日志系列:JUL 使用和原理分析
目录 一. 简介 二.使用 三.日志级别 四.Logger 继承关系 五.配置文件 六.原理解析 一. 简介 JUL 全称 Java util Logging 是 java 原生的日志框架,使用时不需 ...
- CF939F Cutlet 题解
题意简述 有一个正反面都为 \(0\) 的卡片,每过 \(1\) 分朝下那一面的数值就会增加 \(1\),你可以在几个区间的时间内翻转卡片,求经过 \(2n\) 秒后能否让这个卡片的正反面的数都为 \ ...