会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
古兰精
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
14
15
16
17
18
19
20
21
22
···
128
下一页
2021年9月17日
浅析JavaScript如何检测文件的类型:区分文件类型的本质、关于魔数的理解、input accept文件检测存在的问题、如何检测修改后缀名后的文件类型、推荐一个文件检测JS库-file-type库及其检测原理
摘要: 在日常工作中,文件上传是一个很常见的功能。在某些情况下,我们希望能限制文件上传的类型,比如限制只能上传 PNG 格式的图片。针对这个问题,我们会想到通过 input 元素的 accept 属性来限制上传的文件类型。这种方案虽然可以满足大多数场景,但如果用户把 JPEG 格式的图片后缀名更改为 .pn
阅读全文
posted @ 2021-09-17 12:27 古兰精
阅读(4210)
评论(0)
推荐(0)
2021年9月16日
推荐4款高星星JS库:canvas库-Fabric.js、JavaScript客户端文件上传库-FilePond、客户端保存文件解决方案-FileSaver、JavaScript在线解压 ZIP 文件-JSZip
摘要: 一、canvas库-Fabric.js Fabric.js 是一个强大而简单的 Javascript HTML5 画布库。 Fabric 在画布元素之上提供交互式对象模型, Fabric 还具有 SVG-to-canvas(和 canvas-to-SVG)解析器。 详情见这篇文章:这个 19.4K
阅读全文
posted @ 2021-09-16 21:51 古兰精
阅读(865)
评论(0)
推荐(0)
浅析为什么前端监控要用GIF打点
摘要: 前端监控的关键在于:(1)能够收集到用户信息;(2)能够将收集到的数据上报给服务器。 也就是说,只要能上报数据,无论是请求GIF文件,还是请求js文件或者是调用页面接口,服务器端其实并不关心具体的上报方式。向服务器端上报数据,可以通过请求接口,请求普通文件,或者请求图片资源的方式进行。为什么所有系统
阅读全文
posted @ 2021-09-16 18:55 古兰精
阅读(631)
评论(0)
推荐(0)
浅析Array.reduce()语法、reduce执行流程、常见使用(所有值求和、提供初始值累加所有值、二维转一维、计算元素出现个数、按属性分类、顺序执行promise、功能型管道函数等)
摘要: 一、Array.prototype.reduce() reduce() 方法对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值。 const array1 = [1, 2, 3, 4]; const reducer = (previousValue, c
阅读全文
posted @ 2021-09-16 11:49 古兰精
阅读(407)
评论(0)
推荐(0)
2021年9月15日
浅析Array.from()的语法及常见使用:将类数组转为数组、浅拷贝普通数组/深拷贝嵌套数组、使用默认值填充数组、序列生成器、数组去重合并
摘要: 一、Array.from() Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。 1、语法:Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike:必传参数,想要转换成数组的伪数组对象或可迭代对象。 mapFn:
阅读全文
posted @ 2021-09-15 19:01 古兰精
阅读(1509)
评论(0)
推荐(1)
浅析FormData.append()的使用、FormData对象常用方法、如何使用FormData传文件流传json对象传list数组、如何使用FormData传多个文件、如何打印FormData对象的内容
摘要: 很早之前写过一篇 FormData 对象方法的介绍,可以看这篇:HTML5 FormData 方法介绍以及实现文件上传:上传文件实例、FormData 对象方法介绍 一、FormData.append() FormData 接口的 append() 方法 会添加一个新值到 FormData 对象内的
阅读全文
posted @ 2021-09-15 15:17 古兰精
阅读(24515)
评论(0)
推荐(0)
浅析前端常见文件上传的8种场景:单文件/多文件上传、文件目录上传、压缩目录上传、拖拽文件上传、剪贴板上传、大文件分片上传、服务端上传
摘要: 在日常工作中,文件上传是一个很常见的功能。在项目开发过程中,我们通常都会使用一些成熟的上传组件来实现对应的功能。一般来说,成熟的上传组件不仅会提供漂亮 UI 或好的交互体验,而且还会提供多种不同的上传方式,以满足不同的场景需求。 一般在我们工作中,主要会涉及到 8 种文件上传的场景,每一种场景背后都
阅读全文
posted @ 2021-09-15 11:33 古兰精
阅读(8427)
评论(0)
推荐(2)
2021年9月14日
浅析JVM对象的创建过程、内存布局以及访问定位
摘要: 一、对象的创建过程 关于对象的创建,第一反应是 new 关键字。Student stu =new Student("**","18");就拿这句代码来说: 1、虚拟机首先会去检查Student这个类有没有被加载,如果没有,首先去加载这个类到方法区。 2、然后根据加载的Class类对象创建stu实例对
阅读全文
posted @ 2021-09-14 18:41 古兰精
阅读(116)
评论(0)
推荐(0)
浅析JVM堆溢出和栈溢出以及其产生可能原因的排查要点
摘要: 一、JVM 堆溢出 在 jvm 运行 java 程序时,如果程序运行所需要的内存大于系统的堆最大内存(-Xmx),就会出现堆溢出问题。创建对象时如果没有可以分配的堆内存,JVM就会抛出OutOfMemoryError:java heap space异常。 // 执行该段代码需要大于10m内存空间 p
阅读全文
posted @ 2021-09-14 17:37 古兰精
阅读(3877)
评论(0)
推荐(2)
2021年9月13日
浅析Http request的8种类型、post和put的本质区别(是否幂等)、http工作原理(请求/响应模型及步骤)、request请求的url类型
摘要: 一、HTTP 请求的8种方法: HTTP/1.1协议中共定义了八种方法,来表明Request-URL指定的资源不同的操作方式。 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 C
阅读全文
posted @ 2021-09-13 19:01 古兰精
阅读(1437)
评论(0)
推荐(0)
上一页
1
···
14
15
16
17
18
19
20
21
22
···
128
下一页
公告