整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

采用HTML5进行本地文件的操作

采用HTML5进行本地文件的操作

TML5的标准文件Api可以使用页面具有文件传输的能力,其定义如下四个接口:

  • BLOB - 不改变变的原始数据。一个Blob类型属性,显示数据的媒体类型,如“text /平原”。

  • File - 继承自BLOB,表示一个单独的文件

  • FileList - 文件对象集合

  • FileReader - 读物文件或者BLOB的内容

FileRead提供了三个方法用于读取文件内容

  • readAsText() -读取文件或者BLOB对象将其内容转换为可读的文本内容。

  • readAsDataURL() -取文件或者BLOB对象将其内容转换为一个Data Url,可用于图片的现实。

  • readAsArrayBuffer() - 取文件或者BLOB对象将其内容转换为ArrayBuffer

FileReader实现一部读取并且能够展示读取内容的进度,可以实现如文件上传的进度条的接口。

  • load加载事件-数据已经成功加载

  • abort终止事件-数据加载过程被终止

  • error事件-加载过程出错

  • loadend事件-加载结束

下面是一个读物文件内容的实例

  • 采用input type='filed"控件获取文件或者Blob对象

  • 创建FileReader对象,实现加载过程的控制

  • FileReader调用readAsText()方法

  • errror事件实现出错信息的展示

TTP 大文件上传解决方案(500M以上),如何实现大文件上传、断点续传、切片上传,VUE实现大文件分片上传、断点续传,网页 项目大文件上传下载解决方案,VUE实现文件上传与下载,H5+JAVA的文件上传,断点续传,前端大文件切片上传,断点续传、秒传等解决方案,VUE中使用实例,NGINX支持超大文件HTTP断点续传,VUE实现文件的分片上传,前端大文件上传处理方案,如何解决控件附件上传时超大附件无法上传的问题,完美解决B/S无法上传大文件解决方法,网页完美解决B/S无法上传大文件方法,前端完美解决B/S无法上传大文件方法

SpringBoot完美解决B/S无法上传大文件方法,java完美解决B/S无法上传大文件方法,input file完美解决B/S无法上传大文件方法,jsp完美解决B/S无法上传大文件方法,dom完美解决B/S无法上传大文件方法,百度webuploader完美解决B/S无法上传大文件方法,webuploader完美解决B/S无法上传大文件方法,html5完美解决B/S无法上传大文件方法,JS完美解决B/S无法上传大文件方法,完美解决B/S无法上传大文件方法,

JS实现文件夹的多线程上传和下载,JS实现文件夹的加密上传和下载,JS怎么实现文件夹的上传和下载,vue实现文件夹的上传和下载,web实现文件夹的上传和下载,网页实现文件夹的上传和下载,dom实现文件夹的上传和下载,html5实现文件夹的上传和下载,JavaScript实现文件夹的上传和下载,JS如何实现文件夹的上传和下载,JS实现文件夹的上传和下载解决方案,百度webuploader实现文件夹的上传和下载,webuploader实现文件夹的上传和下载,

网页项目纯HTML,纯VUE这类方案不多。客户那边实际上比较在乎两点。

JS实现文件夹的上传和下载,WEBUPLOADER上传大文件的三种解决方案,WEBUPLOADER上传大文件的解决方案,WEBUPLOADER上传大文件的方案,百度WEBUPLOADER上传大文件的三种解决方案,百度WEBUPLOADER上传大文件的三种代码,百度WEBUPLOADER上传大文件的三种源码,百度WEBUPLOADER上传大文件的三种源代码,HTML5上传大文件的三种源代码,JavaScript上传大文件的三种源代码,WEBUPLOADER如何实现大文件断点续传、秒传,

实际上客户对技术并不在意,用HTML也好用控件也罢。客户比较在意两点,一个是稳定性,一个是兼容性。

HTML5分片,分段,分块,分割,切片,切割上传,H5原理实际上上传的原理就是把一个大的文件切割成若干个小数据块进行上传,下载的话Chrome虽然提供了几个API,但是不好用

给政府做的一个项目,需要实现一个文件管理系统,主要就是需要在服务端进行加密存储,传输过程也需要进行加密,加密算法需要支持国密SM4,现在因为信息安全的需求,基本政府那边服务端和终端系统都是信创国产化的系统。政府这边对安全性要求比较严格。

附件太大了确实很难上传,上传的时候容易出错,处理起来的确有些麻烦。

现在chrome提供了相关的API,在HTML5中也能够上传文件,不过有限制,每个域名限制了5个TCP连接。用起来不是那么的舒服,也不够灵活,当然也能够满足一般的使用场景。不太复杂的也能够凑合着用。

但是如果有上传文件夹,文件夹中包含很多文件,比如1万或者10万,这种场景下用起来就不是那么的舒服了,如果单个文件的大小超过10G,比如20G,这种场景下用起来也不是特别的舒服。

还有批量下载的话HTML5的能力也有限,下是能下,但是每下一个文件就需要用户手动确认一下,那比如我要下载100个文件,也需要确认100次,用户不太接受这种方式。

用户的环境还是有点复杂的,也就是用户那边公司用的操作系统很多,终端系统有windows,macOS,linux,不同的部门用的系统还不一样,营销部门的话用macOS多一些,运维后端的同事用linux用的多一些,主要就是centos和ubuntu,其它的同事用的windows多一些。1.下载示例

https://gitee.com/xproer/up6-vue-cli



将up6组件复制到项目中

示例中已经包含此目录



1.引入up6组件



2.配置接口地址

接口地址分别对应:文件初始化,文件数据上传,文件进度,文件上传完毕,文件删除,文件夹初始化,文件夹删除,文件列表

参考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



3.处理事件



启动测试



启动成功



效果



数据库



源码工程文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

源码报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

控件源码下载:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc

么是html?

html是一种简单易记,功能强大的标记语言,它是学习前端知识的第一站,也是所有WEB开发者、乃至产品经理、运营人员必须学习的一项基础内容。

为什么学习html5?

1. html5是WEB开发者,必须掌握的基础知识;

2. html5应用广泛,它可以用来开发网站、WEB应用、WEB游戏等等,如微信小程序、移动端小游戏等都跟html5有关;

3. html5很容易掌握,花几个小时就可以掌握它;

课程特点

1. 讲师讲课风格幽默,整个学习过程轻松有趣,不枯燥、不乏味;

2. 以就业为导向,与实战相结合,满足大部分学员的学习需求;

学习建议

1. 学完每一节课程,动手将代码打一遍;

2. 举一反三,学完每节课程,思考一下它的应用场景;

3. 完成本门课程,试着自己写一个纯html5的网页;

适宜人群

1. 零基础学员;

2. 前端爱好者;

1、DOCTYPE 描述文档的类型,规定web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

网页可以使用的具体版本,网页中可以使用那些标记,每个版本的DTD版本均有不同

2、<html></html> 网页文档中的根标记

html 标签有三个特殊的属性  

  • manifest 指定网页缓存文件,可以让用户离线的时候也可以访问文件。
  • xmlns 设置html名空间,比如把网页设置成xhml的时候可以使用这个值。
  • lang 设置网页的描述语言,比如中文是zh;英文是en。

3、<head></head>头部标签在网页中只能有一个,设置HTML文档的头部信息,里面内容不会在页面中显示出来·。

head里面的标记

  • <meta> 标记
  • <title>定义网页的标题
  • <link> 链接
  • <script> 标记JavaScript脚本的内容
  • <style> 标记css样式
  • meta 标记

4、<body></body>只能有一个,显示网页的主体内容。

(一)、<meta>标签

<meta>元素的属性:

  • name 描述信息的名称,来标记这是一个什么样的信息
  • http-equiv 描述行为
  • content 描述的内容
  • charset 指定网页的编码

1、name 属性

1 <meta name="author" content="nyw">
2     <!--作者, 定义网页的作者 -->
3 <meta name="description" content="meta标记学习">
4     <!-- 描述,描述网页的实际内容 -->
5 <meta name="keywords" content="HTML,meta">
6     <!-- 关键字,定义网页关键字 -->

2、http-equiv属性

1 <meta http-equiv="refresh" content="30">
2     <!-- 网页30s后自动刷新 -->
3 <meta http-equiv="refresh" content="5,url=dom.html">
4     <!-- 网页30秒后跳转到dom.html文档 -->

<meta http-equiv="refresh" content="5,url=dom.html">

http-equiv描述网页的行为,行为 refresh刷新,内容为5,表示5秒后跳转到 dom.html这个文档。

3、content 属性

特殊属性

  • content-type 指定http头部信息的文字编码(最为常用)
  • default-style 指定优先使用的样式单(stylesheet)
  • refresh 用于网页的自动刷新或是页面跳转
  • set-cookie 设置页面的cookie(现在已经不再推荐使用)

4、charset属性

指定网页的编码,推荐使用UTF-8来增加网页的兼容性。

代码实例:

为搜索引擎抓取机器人准备一些信息

这段代码可以禁止搜索引擎缓存和跟踪网页。

<meta name="robots" content="noindex,nofollow">
    <!-- name定义的是机器人,内容部分表示不要被搜索引擎缓存,也不要被搜索引擎跟踪 -->

代码实例:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>网页标题(显示在浏览器上)</title>
 6     <meta name="author" content="nyw">
 7     <!--作者, 定义网页的作者 -->
 8     <meta name="description" content="meta标记学习">
 9     <!-- 描述,描述网页的实际内容 -->
10     <meta name="keywords" content="HTML,meta">
11     <!-- 关键字,定义网页关键字 -->
12     <meta http-equiv="refresh" content="30">
13     <!-- 网页30s后自动刷新 -->
14     <meta http-equiv="refresh" content="5,url=dom.html">
15     <!-- 网页30秒后跳转到dom.html文档 -->
16     <meta name="robots" content="noindex,nofollow">
17     <!-- name定义的是机器人,内容部分表示不要被搜索引擎缓存,也不要被搜索引擎跟踪 -->
18 </head>
19 <body>
20 </body>
21 </html>

(二)、title、base标记

title和base标记都是写在head标签中

title:设置网页的标题

写法:<title>内容</title>。

base:指定网页跳转基准URL,如果不指定的话默认为当前网站的当前路径。

写法:<base href="http://www.aaa.zzz/">

base属性值:

  • href 指定网页跳转到基准URL,如果不指定的话则默认为当前网站的当前路径。

<base href="http://baidu.com/"> 这是将页面跳转到百度的网站打开。

  • target 指定链接的跳转帧如果不指定的话,则是在当前页面中跳转。

<base target="_blank"> 网页中的链接都应该在新的窗口中打开。

terget属性值:

  • _blank 在新窗口中打开被链接的文档
  • _self 默认值,在相同框架中打开被链接的文档
  • _parent 在父框架集中
  • _top 在整个窗口中打开被链接文档·
  • framename 在指定框架中打开被链接文档

(三)、link标记

link标记:链接外部文件时使用的标记,可以把外部文件的内容引入到当前文件中来,使当前网页实现更多的功能。

link属性:

href:指定链接外部路径的路径和文件名,要设置全路径并且带文件名

rel:引用文件,引用资源的类型定义

我们在使用link标签引用外部文件的时候,外部文件的类型是多种多样的。

alternate 代替文档(种子,其他语言版本,其他格式等等)

author 网页的作者

help 帮助文件的链接

icon 网页的图标

next 如果是连续网页的时候,指定下一个网页

prefetch 把链接外部资源时提前缓存起来。

prev 如果是连续网页

media 链接文件或是资源属于哪一种资源。

hreflang 链接文件的语言种类

type 链接文件的mi/me类型(比如说,图片图标文本)

sizes 根据link链接文件的类型,来指定文件的大小

代码示例:

链接网页图标:

网站的图标指定,可以显示在浏览器的图标栏,也可以被手机读取作为网站的图标存入收藏夹
1 <!-- 网站的图标指定,可以显示在浏览器的图标栏,也可以被手机读取作为网站的图标存入收藏夹 -->
2     <link rel="icon">
3     <!-- 示例 -->
4     <link rel="icon" href="img/favicon.png" type="image/png">
5     <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
6     <link rel="apple-touch-icon" href="img/apple-touch-icon.png" type="image/png">

注意:后面的href和前面type标注的类型要一致,这样既可以显示在浏览器,又可以显示在手机上

链接外部样式单

1 <link rel="stylesheet">
2     <link rel="stylesheet" href="style1.css" media="screen">
3     <link rel="stylesheet" href="style2.css" title="主题样式文件">
4     <link rel=" alternate stylesheet" href="style3.css" title="可选样式单">

说明:

alternate 会在浏览器中会弹出一个对话框,供用户可以进行选择

media 表示媒体类型为屏幕,可以是手机,但不包括打印机和投影仪

title 对这个link进行简单的说明

网站RSS种子指定

<!-- 网站RSS种子指定 -->
    <link rel="alternate" type="application/rss+xml">

为搜索引擎的准备的网页的URL

<!-- 为搜索引擎的准备的网页的URL -->
    <link rel="canonical">
    <link rel="canonical" href="http://www.aaa.zzz/help.html">

告诉搜索引擎代替URL是哪里。