<input type=file>文件上传

<input type=file>文件上传<input>type类型为file时使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 JavaScript 的FileAPI对文件

大家好,又见面了,我是你们的朋友全栈君。

<input> type 类型为 file 时使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 JavaScript 的 File API 对文件进行操作 .

 

常用input属性:

accept:指示file类型,没有时表示不限制类型,填入格式后选择文件时只能看见被允许的文件

accept=”image/png” 或 accept=”.png” 表示只接受 png 图片. 

accept=”image/png, image/jpeg” 或 accept=”.png, .jpg, .jpeg” 表示接受 PNG/JPEG 文件. 

accept=”image/*” 接受任何图片文件类型. audio/* 表示音频文件video/* 表示视频文件

accept=”.doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document” 接受任何 MS Doc 文件类型.

accept 属性并不会验证选中文件的类型. 他只是为开发者提供了一种引导用户做出期望行为的方式而已, 用户还是有办法绕过浏览器的限制。因此, 在服务器端进行文件类型验证是必不可少的。

multiple:Boolean ,指示用户能否多个输入,type为email或file时生效

required:指定用户在提交表单之前必须保证该元素值不为空。当 type 属性是 hidden,image 或者按钮类型(submit,reset,button)时不可使用。

:optional 和 :required css 伪元素的样式将可以被该字段应用作外观。

 

事件:

change事件

广州设计公司https://www.houdianzi.com 我的007办公资源网站https://www.wode007.com

示例

<template> <div> <input type="file" id="upload" multiple @change="upload"></input> </div> </template> <script> export default { methods: { upload(e) { // 获取文件信息 // 返回值是一个 FileList 对象,这个对象是一个包含了许多 File 文件的列表(你也可以像列表一样操作它). // 每个 File 对象包含了下列信息: // name: 文件名.    // lastModified: UNIX timestamp 形式的最后修改时间.    // lastModifiedDate: Date 形式的最后修改时间.    // size: 文件的字节大小.    // type: 文件类型. // let files=document.getElementById(‘upload‘).files // 获取单个文件信息 let file = e.target.files[0] // 文件信息获取后根据file.type判断类型,根据file.size限制判断大小,最后上传,建议上传单独一个写button const formdata = new FormData() formdata.append(‘file‘, file) // 调接口,data为formdata } } }; </script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154463.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月4日 上午11:00
下一篇 2022年7月4日 上午11:00


相关推荐

  • oracle中锁表语句,oracle查询锁表解锁语句

    oracle中锁表语句,oracle查询锁表解锁语句一.查询锁定的表如下语句,都可以查询锁定的表语句一:selecta.sid,a.serial#,p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_namefromv$processp,v$sessiona,v$locked_objectb,all_objectscwherep.addr=a.paddr…

    2022年8月23日
    8
  • ceph S3_ceph minio

    ceph S3_ceph minio参考资料:https://www.cnblogs.com/ytc6/p/7388654.htmlhttp://docs.ceph.com/docs/kraken/start/https://blog.csdn.net/changtao381/article/details/48015623https://blog.csdn.net/litianze99/article/detail…

    2022年8月30日
    3
  • mac xmind快捷键

    mac xmind快捷键tab:新建分支command+z:撤销command+”+”:放大command+”-“:缩小shift+enter:文字换行转载于:https://www.cnblogs.com/yintingting/p/5678890.html

    2022年5月3日
    152
  • redis 6379端口不通解决方法「建议收藏」

    redis 6379端口不通解决方法「建议收藏」1.reids服务器的6379端口telnet不通2. 查看reids进程和端口,都是存在的。只是ip地址是127.0.0.1而不是0.0.0.0,只是本机能使用3.查找redis的配置文件redis.conf 使用命令:find/-nameredis.conf 4.查找bind127.0.0.1所在的行数  使用命令:cat/usr/local/re…

    2022年5月9日
    162
  • 使用activiti总结–bpmn画流程图

    节期结束,赶紧总结一下前几天使用的Activiti工作流的一些方法简单介绍一下Activiti:Activiti一套完整的方便的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。开发人员可以通过插件直接绘画出业务。开发工具:IDEA画流程图插件:actiBPM(在IDEA插件管理中安装就可以了)BPMN…

    2022年4月3日
    248
  • Manus AI智能体使用教程,全网最完整的操作指南

    Manus AI智能体使用教程,全网最完整的操作指南

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号