标签每出现一次,一个 FileUpload 对象就会被创建。该元素包含一个文本输入字段,用来输入文件名,还有一个按钮,用来打开文件选择对话框以便图形化选择文件。该元素的 value 属性保存了用户指定的文件的名称,但是当包含一个 file-upload 元素的表单被提交的时候,浏览器会向服务器发送选中的文"> html怎么与后端交互(html怎么与后端交互的) - 原点资讯 - m.360kss.com
当前位置:首页>教育培训>

html怎么与后端交互(html怎么与后端交互的)

来源:原点资讯(m.360kss.com)时间:2023-07-09 01:30:56作者:YD166手机阅读>>

前言

在 html 文档中 标签每出现一次,一个 FileUpload 对象就会被创建。

该元素包含一个文本输入字段,用来输入文件名,还有一个按钮,用来打开文件选择对话框以便图形化选择文件。

该元素的 value 属性保存了用户指定的文件的名称,但是当包含一个 file-upload 元素的表单被提交的时候,浏览器会向服务器发送选中的文件的内容而不仅仅是发送文件名。

当用户选择或编辑一个文件名,file-upload 元素触发 onchange 事件句柄。

看个简单例子:

[html]view plaincopy

这里读取一个文件, 显示在div 中。

(在IE8 中 无效, this.files 无法读取文件。这个属于HTML5 的特性)

当选择了一个文件时,就会把包含这个文件的列表(一个FileList对象)作为参数传给handleFiles()函数了。这个FileList对象类似一个数组,可以知道文件的数目,而它的元素就是File对象了。从这个File对象可以获取name、size、lastModifiedDate和type等属性。把这个File对象传给FileReader对象的读取方法,就能读取文件了。


html怎么与后端交互,html怎么与后端交互的(1)


HTML5 Drag and Drop File

Html5 支持的File 的操作不仅仅是文件的选择,

在HTML5 之前需要使用 Applet 和 SilverLight 才能达到的文件拖拽功能,在HTML5 中也能轻松的实现,

看代码:

[html]view plaincopy

drop Here

这里通过事件对象的 dataTransfer 可以得到文件。


html怎么与后端交互,html怎么与后端交互的(2)


读取文件内容

在第一个例子中, 我们使用 FileReader类来读取文件的内容,

在 W3C 草案中,File 对象只包含文件名,文件类型等只读属性;FileReader用于内容读取和监控读取状态。

(在firefox 中, 可以直接使用 var fileBinary = file.getAsBinary(); 读取文件的二进制源码)

FileReader提供的方法包括:

1. readAsBinaryString

2. readAsDataURL

3. readAsText

4. abort

.........


以下,举一个 使用 FileReader 将用户选择的图片不通过后台即时显示出来的例子。

[html]view plaincopy

function handleFiles(files){

for (var i = 0; i < files.length; i ) {

var file = files[i];

var imageType = /image.*/;

if (!file.type.match(imageType)) {

continue;

}

var img = document.createElement("img");

img.classList.add("obj");

img.file = file;

preview.appendChild(img);

var reader = new FileReader();

reader.onload = (function(aImg){

return function(e){

aImg.src = e.target.result;

};

})(img);

reader.readAsDataURL(file);

}

}


html怎么与后端交互,html怎么与后端交互的(3)


同后端的交互

在一般的HTML 中,使用方式是把file input 放在form 中, 以POST 方式把文件传递到后端。

在 HTML5 中, 也可以通过 FileReader 的 readAsBinaryString 方法读取到文件的二进制码,然后通过 XMLHttpRequest 的 sendAsBinary 方法将其发送出去。

[javascript]view plaincopy

var xhr = new XMLHttpRequest();

xhr.open("POST", "url");

xhr.overrideMimeType('text/plain; charset=x-user-defined-binary');

xhr.sendAsBinary(binaryString);

栏目热文

html怎么获取表数据(html 获取数据库数据填充到表单)

html怎么获取表数据(html 获取数据库数据填充到表单)

#php js jquery功能片段#唯一需求:表格id。注意:因提交数据不能包含\n,所以要替换。呈现时可以替换回换行...

2023-07-09 01:30:11查看全文 >>

html怎么抓取页面数据(html怎么提取数据)

html怎么抓取页面数据(html怎么提取数据)

在日常的前端开发中,我们经常需要从网页中获取特定的数据,这就需要用到JavaScript来抓取网页内容。今天我就来分享一...

2023-07-09 01:46:05查看全文 >>

怎么在html显示从后台获取的数据(html查询后台数据)

怎么在html显示从后台获取的数据(html查询后台数据)

html简单教程简单登录界面以下是一个简单的html登录页面的代码,你可以根据自己的需要进行修改:

2023-07-09 01:48:03查看全文 >>

html页面怎么获取后端数据(html初始数据怎么从后台获取)

html页面怎么获取后端数据(html初始数据怎么从后台获取)

本文内容已假定您已拥有一些 html 以及爬虫的基础知识需求背景这几天在做一款资源站产品,开发过程中需要一定的测试数据,...

2023-07-09 01:42:41查看全文 >>

后端输出html代码前端怎么获取(前端如何获取线上代码)

后端输出html代码前端怎么获取(前端如何获取线上代码)

有时候我们会遇到这样的一个需求:通过前端传入的数据渲染一个现成的打印模板出来,最后返回一个html格式的文本给前端,模板...

2023-07-09 01:46:44查看全文 >>

html怎么获得动态数据(html如何展示大量数据)

html怎么获得动态数据(html如何展示大量数据)

pyspider示例代码一:利用phantomjs解决js问题本系列文章主要记录和讲解pyspider的示例代码,希望能...

2023-07-09 01:31:40查看全文 >>

html后端怎么建数据库(html调用数据库数据最简单方法)

html后端怎么建数据库(html调用数据库数据最简单方法)

一、目的做这个项目的初衷是因为我去年在微信卖老家水果,好多朋友下单后都问我快递单号,每天发货后我都要挨个甄别这个人是哪个...

2023-07-09 01:33:39查看全文 >>

html如何和后端交互(html页面如何与后台交互)

html如何和后端交互(html页面如何与后台交互)

毫无疑问,前后端分离开发是当前非常热门的技术方向,可以说是互联网项目开发的标配,如果你还不懂前后端分离,那肯定就 out...

2023-07-09 02:03:28查看全文 >>

html后端数据库用什么写(html可以通过什么获取数据库数据)

html后端数据库用什么写(html可以通过什么获取数据库数据)

说明screw,简洁好用的数据库表结构文档生成工具。特点,1、简洁、轻量、设计良好,2、多数据库支持,3、多种格式文档,...

2023-07-09 02:07:49查看全文 >>

html用什么语句接收后端数据(前端获取后端html数据)

html用什么语句接收后端数据(前端获取后端html数据)

selenium的定位元素方式是基于html语言构建的,所以学习web自动化是很有必要去学习htmlHTMLHTML 全...

2023-07-09 01:50:16查看全文 >>

文档排行