iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >原生JS实现文件上传
  • 725
分享到

原生JS实现文件上传

2024-04-02 19:04:59 725人浏览 独家记忆
摘要

本文实例为大家分享了js实现文件上传的具体代码,供大家参考,具体内容如下 一、目的: 实现上传图片功能 二、效果: 三、思路: 用input标签自带的上传,先隐藏掉,给上传按钮添加

本文实例为大家分享了js实现文件上传的具体代码,供大家参考,具体内容如下

一、目的:

实现上传图片功能

二、效果:

三、思路:

用input标签自带的上传,先隐藏掉,给上传按钮添加点击事件,绑定input的点击事件

四、代码:

//html
<input ref="img-upload-input" class="img-upload-input" type="file" accept=".png, .jpg" @change="submitUpload">
<el-button style="margin-top: 20px" type="primary" @click="handleSelectedImg">选择图片</el-button>
//js
//点击上传按钮
handleSelectedImg() {
 this.$refs['img-upload-input'].click()
},
 //选好图片之后点击打开按钮
submitUpload(e) {
  const files = e.target.files
  const rawFile = files[0] // only use files[0]
  if (!rawFile) return
  this.upload(rawFile)
},
 //上传
upload(rawFile) {
   this.$refs['img-upload-input'].value = null // fix can't select the same excel
   if (!this.beforeUpload) {
     return
   }
   //检查文件是否满足条件
   const before = this.beforeUpload(rawFile)
   if (before) {
   //上传事件
     this.uploadSectionFile(this.uploadParams, rawFile)
   }
},
beforeUpload(file) {
   const isLt1M = file.size / 1024 / 1024 < 50

   if (isLt1M) {
     return true
   }
   console.log('上传文件不超过50M', 'warning')
   return false
},
uploadSectionFile(params, file) {
   let data = params
   let fd = new FORMData()// FormData 对象
   let fileObj = file// 相当于input里取得的files
   fd.append('stationID', data.stationID)
   fd.append('date', data.date)
   fd.append('file', fileObj)// 文件对象
   supplementFile(fd).then(res => {
     //调用上传接口
   })
}

五、注意事项

封装的请求头是(后面发现也不一定要配置这个)

'Content-Type': 'multipart/form-data;'

axiOS request的拦截转换直接return

transformRequest: [function(data) {
    // 对 data 进行任意转换处理
    return data
  }],

六、常见问题

1.上传文件的同时要传别的参数怎么办?

可以把参数和文件装在一个文件对象里面

let fd = new FormData()
fd.append('file', file)//文件
fd.append('param1', param)

2.文件大小的限制问题

1)、前端上传文件时限制可选文件大小
2)、后端SpringBoot限制
3)、Nginx配置限制,当前端发送请求后端接收不到的时候,可以检查nginx配置。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 原生JS实现文件上传

本文链接: https://www.lsjlt.com/news/164414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 原生JS实现文件上传
    本文实例为大家分享了JS实现文件上传的具体代码,供大家参考,具体内容如下 一、目的: 实现上传图片功能 二、效果: 三、思路: 用input标签自带的上传,先隐藏掉,给上传按钮添加...
    99+
    2024-04-02
  • 怎么用原生JS实现文件上传
    本篇内容主要讲解“怎么用原生JS实现文件上传”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用原生JS实现文件上传”吧!一、目的:实现上传图片功能二、效果:三、思路:用input标签自带的上传...
    99+
    2023-07-02
  • 原生js实现上传图片控件
    本文实例为大家分享了js实现上传图片控件的具体代码,供大家参考,具体内容如下 一、修改原生 input 样式 html 结构 <div class="card"> ...
    99+
    2024-04-02
  • GO语言原生实现文件上传功能
    本文实例为大家分享了GO原生实现文件上传功能的具体代码,供大家参考,具体内容如下 写在前面 最近在学习go,发现实践才是检验真理的唯一标准。在不引入任何框架的基础上,利用go语言实现...
    99+
    2024-04-02
  • JS如何实现多文件上传
    这篇文章主要介绍JS如何实现多文件上传,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体实现代码如下所示:<!DOCTYPE html> <html>...
    99+
    2024-04-02
  • 如何实现js上传文件功能
    这篇文章给大家分享的是有关如何实现js上传文件功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下一、用input完成上传,效果图如   ...
    99+
    2024-04-02
  • js 实现文件上传样式详情
    目录1、概述2、创建对象的参数3、监听例子4、使用方法5、源代码1、概述 这个js包括按钮样式,列表样式、带有删除、添加、放大(使用的是自带的放大功能,提供有API来放入你的弹窗...
    99+
    2024-04-02
  • JS实现上传文件显示进度条
    本文实例为大家分享了JS实现上传文件显示进度条的具体代码,供大家参考,具体内容如下 用户反馈:图片上传过程中,如果网络比较慢,会发现上传图片后没有一点反应,体验性很差,图片回显也比较...
    99+
    2024-04-02
  • JS中如何实现异步文件上传
    这篇文章将为大家详细讲解有关JS中如何实现异步文件上传,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在非html5的情况下是无法用ajax把文件推送到后端的,只能通过fo...
    99+
    2024-04-02
  • 原生ajax和iframe框架如何实现图片文件上传
    这篇文章主要为大家展示了“原生ajax和iframe框架如何实现图片文件上传”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“原生ajax和iframe框架如何实现...
    99+
    2024-04-02
  • 原生Js实现日历挂件
    本文实例为大家分享了js实现日历挂件的具体代码,供大家参考,具体内容如下 Css code #date { width: 220px; padding-bottom: ...
    99+
    2024-04-02
  • Spring boot实现文件上传实例(多文件上传)
    文件上传主要分以下几个步骤:(1)新建maven java project;(2)在pom.xml加入相应依赖;(3)新建一个表单页面(这里使用thymleaf);(4)编写controller;(5)测试;(6)对上传的文件做一些限制;(...
    99+
    2023-05-31
    spring boot 文件上传
  • 原生JavaScript+PHP多图上传实现
    摘要 很多场景下需要选择多张图片上传,或者是批量上传以提高效率,多图上传的需求自然就比较多了,本文使用最简单的XMLHttpRequest异步上传图片。 界面 上传示例 代码 index.html...
    99+
    2023-10-06
    javascript php
  • js如何实现腾讯cos文件上传功能
    这篇文章主要介绍了js如何实现腾讯cos文件上传功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。步骤安装腾讯云COS上传所需的sdk下载c...
    99+
    2024-04-02
  • ASP.NET实现文件上传
    本文实例为大家分享了ASP.NET实现文件上传的具体代码,供大家参考,具体内容如下 .NET中C/S和B/S上传文件不同 B/S中文件上传和C/S中的文件上传性质完全不一样 在C/S...
    99+
    2024-04-02
  • vue实现文件上传
    本文实例为大家分享了vue实现文件上传的具体代码,供大家参考,具体内容如下 记录问题,方便回顾 1、使用elementUI的 el-upload插件进行上传。 2、使用input。 ...
    99+
    2024-04-02
  • PHP实现文件上传
    上传文件的必备三个条件: 上传到后台的文件 method = "post";(不可以为get方法) enctype = "multipart/form-data";(注意哦,是data,不是date) 三者缺一不可 后台PHP的$_FIL...
    99+
    2023-09-02
    php 服务器 开发语言
  • JS实现可恢复的文件上传示例详解
    目录正文不太实用的进度事件算法server.jsuploader.jsindex.html正文 使用 fetch 方法来上传文件相当容易。 连接断开后如何恢复上...
    99+
    2022-12-29
    JS恢复文件上传 JS文件恢复
  • PHP+JS实现文件分块上传的示例代码
    目录一、分块上传流程二、实现代码HTMLJSPHP我们在上传大文件时,可能会由于服务器的原因导致文件上传失败,文件过大时由于服务器的配置或响应事件过长导致上传文件失败,这时候我们可以...
    99+
    2022-11-13
    PHP JS文件分块上传 PHP 文件分块上传 PHP 文件上传
  • 原生Js如何实现日历挂件
    本篇内容主要讲解“原生Js如何实现日历挂件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“原生Js如何实现日历挂件”吧!JS是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解释...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作