位置: IT常识 - 正文

<input type=“file“>实现上传文件(inputtypefile 文件名)

编辑:rootadmin
<input type=“file“>实现上传文件

推荐整理分享<input type=“file“>实现上传文件(inputtypefile 文件名),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:中给固定值,input type="file"录音有兼容问题么,input type="file"录音有兼容问题么,input type="file"录音有兼容问题么,的概念,的概念,,,内容如对您有帮助,希望把文章链接给更多的朋友!

嗨害嗨,我又来了奥。今天讲一个项目中常见的例子,就是利用input type="file"来进行表单上传文件。首先,我们写好html,如下。

<form id="form1" action="/" method="post" enctype="multipart/form-data"> <div> <label for="profile_pic">Choose file to upload</label> <input multiple="multiple" type="file" id="profile_pic" name="profile_pic" accept=".jpg,.jpeg,.png"> </div> <div> <button type="button" id="btn">提交</button> </div> </form>

这外面是一个form表单,method方法为post,action属性规定当提交表单时,向何处发送表单数据。(这是必需的属性),我们这里直接用‘/’代替了。enctype是encode type的缩写,就是编码类型的意思。默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。

<input type=“file“>实现上传文件(inputtypefile 文件名)

然后我们可以利用input type="file"来点击上传文件,multiple为多种多样的,在这里是代表可以上传多个文件(按住ctrl键就可以进行多选)。accept可以限制文件的上传类型,比如只上传图片文件、视频文件、音频文件等等。然后我们点击这个按钮,在没有写type="button"的时候,会发现不用写js直接就可以提交。为什么呢?原来button有一个type属性,而type有三个可选属性:button,submit,reset,而button按钮的type属性默认值是submit ,所以在没有指定type属性的情况下,点击button按钮触发提交form表单。解决:给button添加type属性,属性值设为button,问题就解决了。

现在写js进行表单验证,代码如下:

const btn = document.getElementById("btn"); const form1 = document.getElementById("form1"); const pic = document.getElementById("profile_pic"); btn.onclick = function () { //如果文件输入框的文件的长度为0,则弹出警告 if (pic.files.length == 0) { alert("请先至少选择一个文件!"); return; } //提交文件 HTMLFormElement.submit() 用来提交表单 <form>。 //判断文件是否符合要求 for (let i = 0; i < pic.files.length; i++) { console.log(i); //0 1 2 3 if (!checkFormat(pic.files[i])) { alert("请确保上传的文件符合要求(.jpg/.png/.jpeg)") return } } alert("上传成功!") form1.submit(); } function checkFormat(o) { let filename = o.name;//文件名称 let suffix = filename.substr(filename.lastIndexOf('.') + 1).toLowerCase(); //png jpg等 let file_format = ['jpg', 'png', 'jpeg']; //看看这个后缀存不存在于file_format数组当中 if (file_format.includes(suffix)) { return true } return false }

1、首先获取按钮,表单和input[type="file"]的dom对象,点击按钮的时候,判断:如果文件输入框的文件的长度为0,则弹出警告,然后return禁止提交。 

2、随后,有文件的情况下,点击提交会判断文件格式是否满足要求。这里封装了一个方法(checkFormat),参数是一个对象,如果对象的name中最后一个"."的后缀名为规定的数组里面的值的话,就返回true,否则返回false。这里用到了ES6新特性中的includes方法,判断这个后缀名是否在这个数组里面。如果有一个不在,则弹出警告:请确保上传的文件符合要求(.jpg/.png/.jpeg),再return禁止提交。

3、如果都满足的话,就提交成功。

如果有什么疑问,欢迎在评论区一起讨论,咱们下次见!

本文链接地址:https://www.jiuchutong.com/zhishi/284103.html 转载请保留说明!

上一篇:最贵的京东商品是什么(京东最贵的商品排行)

下一篇:fpdisp5a.exe是什么进程 有什么作用 fpdisp5a进程查询(fp是什么文件)

  • 华为nova9pro微信怎么分身(华为nova9pro微信美颜怎么设置)

    华为nova9pro微信怎么分身(华为nova9pro微信美颜怎么设置)

  • 苹果13pro王者荣耀120帧怎么开(iphone 13 pro 王者荣耀)

    苹果13pro王者荣耀120帧怎么开(iphone 13 pro 王者荣耀)

  • 钉钉怎么查看打卡记录(钉钉怎么查看打卡距离)

    钉钉怎么查看打卡记录(钉钉怎么查看打卡距离)

  • 小米智能云台 离线原因(小米智能云台摄像机)

    小米智能云台 离线原因(小米智能云台摄像机)

  • 怎样快速删除抖音自己以前发布过的视频(怎样快速删除抖音收藏的视频)

    怎样快速删除抖音自己以前发布过的视频(怎样快速删除抖音收藏的视频)

  • 苹果11如何隐藏app图标(苹果11如何隐藏应用)

    苹果11如何隐藏app图标(苹果11如何隐藏应用)

  • 华为9x微信视频怎么美颜(华为9x微信视频可以美颜吗 在哪里调)

    华为9x微信视频怎么美颜(华为9x微信视频可以美颜吗 在哪里调)

  • 钉钉换手机登录聊天记录还在吗(钉钉换手机登录需要人脸识别吗)

    钉钉换手机登录聊天记录还在吗(钉钉换手机登录需要人脸识别吗)

  • 微信缩略图和大图区别(微信缩略图和原图不一样)

    微信缩略图和大图区别(微信缩略图和原图不一样)

  • 微信朋友圈发图片怎么配音乐(微信朋友圈发图片的方法)

    微信朋友圈发图片怎么配音乐(微信朋友圈发图片的方法)

  • 华为手机其它在哪里删(华为手机其它在哪里打开)

    华为手机其它在哪里删(华为手机其它在哪里打开)

  • 荣耀9x能不能用快充(荣耀9x能不能用广电卡)

    荣耀9x能不能用快充(荣耀9x能不能用广电卡)

  • shelper指的是什么软件(shelper是啥软件)

    shelper指的是什么软件(shelper是啥软件)

  • uc浏览器私密文件在哪里(uc浏览器隐私空间怎么打开)

    uc浏览器私密文件在哪里(uc浏览器隐私空间怎么打开)

  • 拼多多果园删除的好友怎么加回来(拼多多果园删除好友微信会同步吗)

    拼多多果园删除的好友怎么加回来(拼多多果园删除好友微信会同步吗)

  • 手机屏幕色彩校正(手机屏幕色准调节)

    手机屏幕色彩校正(手机屏幕色准调节)

  • 巧影怎么剪辑视频(怎样用巧影软件制作视频短片)

    巧影怎么剪辑视频(怎样用巧影软件制作视频短片)

  • Mac怎么设置默认文本打开方式(mac怎么还原出厂设置)

    Mac怎么设置默认文本打开方式(mac怎么还原出厂设置)

  • linux系统中怎么结束boa进程?(Linux系统中怎么定位到java代码的方法级)

    linux系统中怎么结束boa进程?(Linux系统中怎么定位到java代码的方法级)

  • 艾草的功效与作用(艾草图片)(艾草的功效与作用洗头)

    艾草的功效与作用(艾草图片)(艾草的功效与作用洗头)

  • 记录Chrome插件从V2版本升级到V3版本的过程中遇到的问题(谷歌浏览器历史记录插件)

    记录Chrome插件从V2版本升级到V3版本的过程中遇到的问题(谷歌浏览器历史记录插件)

  • 悬崖边的福门托尔角灯塔,西班牙马略卡岛 (© Lasse Eklöf/DEEPOL by plainpicture)(悬崖边上的门)

    悬崖边的福门托尔角灯塔,西班牙马略卡岛 (© Lasse Eklöf/DEEPOL by plainpicture)(悬崖边上的门)

  • uniapp面试基础(uniapp前端面试题)

    uniapp面试基础(uniapp前端面试题)

  • 免税收入怎么做账务处理
  • 财务软件怎么看利润
  • 药酒消费税计税依据
  • 领用库存商品用于固定资产
  • 小规模纳税属于什么类型
  • 体检费要缴纳个人所得吗?
  • 入账成本会计分录
  • 购房补贴退契税3个月没到账
  • 房地产企业土地增值税清算
  • 金税三期个人所得税税率
  • 买赠销售方式的税务筹划
  • 支票存根联要带去银行吗
  • 一般纳税人可以简易计税的有哪些
  • 子公司可否将母公司注销
  • 个体工商户税收怎么算
  • 营改增通知规定的税收优惠政策
  • 孵化器虚拟地址多少钱一个啊
  • 公司法人变更账务需要重新建立吗
  • 新公司企业怎么注册
  • 一般纳税人税控盘维护费会计分录
  • 应收款的周转天数
  • 非主营业务收入记什么
  • windows defender隔离区
  • 小规模怎么查询
  • 小规模纳税人计税方法
  • 在建工程转固定资产后如何计提折旧
  • win7浏览器显示证书错误怎么解决
  • linux安装方式有
  • kb4586853 补丁
  • 财务报表的组成部分
  • 404 not found意思详细介绍
  • 接口500错误原因
  • React developer tools调试工具全网最新最全安装教程
  • 房产开发企业交房产税吗
  • 汽车定额发票怎么填写
  • 企业之间是什么意思
  • 汇兑差额如何计算
  • 销售赔偿款增值税和所得税
  • web前端性能响应时间
  • 神经网络模型是干嘛的
  • css如何应用
  • php微信公众号开源框架
  • mysqld_safe mysqld from pid
  • 兼职人员的劳务费标准
  • 怎么修改手机的地理位置
  • 收到银行存款利息计入什么科目
  • 施工企业的人工费占比
  • 房地产股权转让涉及哪些税费
  • 有限合伙企业的执行事务合伙人
  • 善意取得增值税专用发票
  • python中如何创建字典
  • 实收资本何时入账
  • 固定资产原值增加当月计提折旧吗
  • 公司账务不正规,账务外包的,财务助理有风险吗
  • 报废车怎么处理最划算
  • 免税申报表里的免税销售额是不含税
  • 出差餐补算在工资里吗
  • 滴滴打车开具的普通发票可以抵扣吗
  • 学校接受捐赠收入要交企业所得税吗
  • 去年的福利费没有用完,今年可以用吗
  • 企业薪资制度
  • 货款还没收到有违法所得吗
  • 新注册公司工商如何做印章确认
  • linux服务器查找文件命令
  • xp系统怎么删除系统
  • 新手教程进不去
  • ubuntu12安装教程
  • linux远程更新程序
  • cocos2dx 3.17
  • js的?
  • unity屏幕截图
  • 基于jquery的移动端ui框架
  • 怎么做到开放
  • 安卓回调接口怎么写
  • 第二章,动态添加按钮(Android)
  • 树形菜单html
  • 税务局网上开票平台app
  • 小学的困难补助什么时候发
  • 自来水公司服务热线电话
  • 江苏电子税务局网站首页公共服务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设