input[type=file]属性

本文详细介绍了HTML中input[type=file]控件的功能及其使用方法,包括如何限制上传文件类型、解决移动端体验不佳的问题以及如何获取用户所选文件的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


title: input[type=file]属性 date: 2017年8月11日 21:04:48 tags: html categories: 教程 author: "JiaWei"

** input[type=file] ** 控件用来上传文件。当使用控件时,就授权了网页和服务器访问对应的文件,就可以得到File对象。

在Android手机webview中,是不支持上传文件的,网上说是修改Android端的代码导致的。

  1. accept属性 该属性表明了服务器端可接受的文件类型,可以限制你手机选择相关的文件,如果限制多个,可以用逗号分割,下面的代码就表示只能选择图片与音频相关的文件:<input accept="image/*,audio/*" type="file"/>

  1. change事件 当用户点击控件上传文件会触发change事件,在移动端点击控件时会弹出键盘,体验非常不友好,通过设置属性onfocus="this.blur()"使其失去焦点 <input type="file" id="upload" onfocus="this.blur()"/>

  2. file对象 用户所选择的文件都存储在了一个FileList对象上,其中每个文件都对应了一个File对象 file对象一共由9个属性 获取上次修改的时间file[0].lastModifiedDate) 获取文件名file[0].name 获取大小file[0].size 获取类型file[0].type

  3. 参考资料: http://www.cnblogs.com/strick/p/5181701.html 移动端图片操作(一) https://developer.mozilla.org/zh-CN/docs/Using_files_from_web_applications    在web应用中使用文件 http://javascript.ruanyifeng.com/htmlapi/file.html  文件和二进制数据的操作http://www.iunbug.com/archives/2012/06/04/208.html   [译]JavaScript文件操作基础 http://www.iunbug.com/archives/2012/06/05/254.html   [译]JavaScript文件操作URL对象http://www.html5rocks.com/zh/tutorials/file/dndfiles     通过 File API 使用 JavaScript 读取文件

### HTML `input` 类型为 file 的使用方法和属性 #### 基本定义 HTML 中的 `<input>` 元素当其 `type` 属性被设为 `file` 时,允许用户通过图形界面选择本地计算机上的一个或多个文件。最简单的形式如下所示[^1]: ```html <input type="file"> ``` #### Capture 属性的应用 为了简化移动设备上多媒体内容的选择过程,可以利用 `capture` 属性来指示应直接从用户的摄像头或其他捕捉装置获取图像数据而不是仅限于已存储的照片或视频。例如,下面这段代码会提示访问者拍照并上图片[^2]: ```html <input type="file" capture="camera" accept="image/*"> ``` #### 获取选定文件的信息 一旦选择了文件,可以通过 JavaScript 访问这些文件的相关信息,比如文件名称。这里展示了一个简单的方法用于读取所选文件的名字[^3]: ```javascript let fileName = document.querySelector("input[type='file']").files[0].name; console.log(fileName); ``` 值得注意的是,在某些旧版浏览器中可能无法完全支持上述功能。 #### 文件筛选机制——Accept 属性 为了让用户体验更加友好,开发者还可以借助 `accept` 属性指定可接受的文件类型列表,从而只显示符合条件的选项给最终用户。此特性依据 MIME 类型或者特定扩展名来进行过滤操作[^4]: ```html <!-- 接受JPEG 和 PNG 图片 --> <input type="file" accept=".jpg,.jpeg,.png"> <!-- 或者按照MIME类型 --> <input type="file" accept="image/jpeg,image/png"> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值