Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >input = file 实现上传文件

input = file 实现上传文件

作者头像
全栈程序员站长
发布于 2022-09-13 01:55:57
发布于 2022-09-13 01:55:57
7.3K00
代码可运行
举报
运行总次数:0
代码可运行

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

使用input = file实现文件上传功能, 如果点击提交按钮,提交表单并上传选中的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<FormItem label="上传简历">
    <div className="section-pushInChannel-fileInput">
        <input id="file" onChange={this.handleFileChange} type="file"  name="file" multiple="multiple"></input>
        <div className="fileTip"></div>
    </div>
</FormItem>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
handleFileChange = (e) => {
      const input = e.target;
       const files = e.target.files;
       if(files && files[0]) {
           const file = files[0];
           if(file.size > 1024 * 1024 *3) {
               fileTip.innerHTML = '文件大小不能超过3M!';
               input.value = '';
               return false;
           } else {
               fileTip.innerHTML = '';
               formData.append("file", file); 
           }
       }
    }

handleSubmitBtnClick = (e) => {
        const { form } = this.props;
        e.preventDefault();
        form.validateFields((err, values) => {
            if(!fileInput.value) {
                fileTip.innerHTML = '请选择您要上传的简历';
            }
            if(!err) {
                if(!fileInput.value) {
                    return;
                }
                Object.keys(values).forEach((key) => {
                    formData.append(key, values[key]);
                });
                axios.post('http://120.77.204.211:9091/api/push', formData).then(res => {
                    if(res.data.success && res.data.retCode === 0) {
                        // 成功
                        this.setState({
                            visible: true,
                        });
                        codeTip.innerHTML="";
                    } else {
                        // 失败
                        formData = new FormData(); // 每次失败要重置formdata对象
                        formData.append('file', fileInput.files[0]);
                        codeTip.innerHTML="您输入的验证码错误";
                    }
                })
            }
        })
    }

注意:

  1. 提交包含文件的表单时,需要使用FormData对象,将要提交的字段append,作为请求的参数;
  2. 可以通过fileInput.value来清空上传的文件;

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
字节面试官:请你实现一个大文件上传和断点续传
原 作 者:yeyan1996原文链接:https://url.cn/5h66afn
Nealyang
2020/02/19
3K0
<input type=file>文件上传
<input> type 类型为 file 时使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 JavaScript 的 File API 对文件进行操作 .
全栈程序员站长
2022/09/06
4.3K0
调用DeepSeek API增强版纯前端实现方案,支持文件上传和内容解析功能
在现代Web开发中,文件上传和内容解析是常见的需求。随着人工智能技术的发展,DeepSeek API增强版提供了一个强大的解决方案,支持多种文件格式的上传和内容解析。本文将详细介绍如何通过纯前端技术调用DeepSeek API增强版,实现文件上传和内容解析功能,帮助开发者快速构建高效、安全的Web应用。
全干程序员demo
2025/03/27
5530
调用DeepSeek API增强版纯前端实现方案,支持文件上传和内容解析功能
写给新手前端的各种文件上传攻略,从小图片到大文件断点续传
今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受。这么好的光阴怎么浪费,睡觉、吃饭、打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完。
coder_koala
2019/11/04
3.3K0
写给新手前端的各种文件上传攻略,从小图片到大文件断点续传
Node.js实现大文件断点续传_2023-02-24
这就产生了对应的解决方法,对于大文件上传时的暂停、断网、网络较差的情况下, 使用切片+断点续传就能够很好的应对上述的情况,
用户10377376
2023/02/24
1.4K0
vue中上传文件_vue上传文件前端完整实例
input[type=“file”]上传文件原理详解https://blog.csdn.net/weixin_42193004/article/details/96275626
全栈程序员站长
2022/09/22
1.2K0
vue中上传文件_vue上传文件前端完整实例
在 linux 上搭建 express 图床服务(支持多图上传),奥利给!
Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架
掘金安东尼
2024/01/28
3600
在 linux 上搭建 express 图床服务(支持多图上传),奥利给!
vue上传文件流
创建formData方法,把文件流以及所有需要上传的数据通过formData.append传入formData中,上传请求中的data中只需要放一个formData就可以了。
全栈程序员站长
2022/11/03
1.1K0
大文件分片上传和分片下载
大家好,我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder
前端柒八九
2024/07/02
4880
大文件分片上传和分片下载
【架构师(第三十二篇)】 通用上传组件开发及测试用例
通过 input type="file", 然后触发 form 的 submit 上传。
一尾流莺
2022/12/10
3.1K0
vue中上传文件_vue实现文件上传和下载
简单的上传文件,先把文件上传到input框只展示文件名,不走接口,之后点击确定上传按钮统一上传
全栈程序员站长
2022/09/27
1.2K0
Vue项目文件拖拽上传攻略
在现代Web开发中,文件上传是一个常见的需求。传统的文件上传方式通常需要用户手动点击上传按钮,然后选择文件。这种方式虽然简单,但在用户体验上存在一定的局限性。为了提升用户体验,我们可以使用拖拽上传的方式,让用户更加直观地完成文件上传操作。本文将详细介绍如何在Vue项目中实现文件拖拽上传功能,包括基本实现步骤、使用第三方库、优化和扩展技巧等内容。
Front_Yue
2025/01/14
4340
Vue项目文件拖拽上传攻略
HTML5 File API
在 HTML5 的 input 标签中,新增了一个 type=file 属性的表单控件。这个控件可以让我们能调出文件选择窗口然后读取这些文件的内容成为可能。
多云转晴
2019/10/23
1.8K0
HTML5 File API
vue 使用 axios 上传文件 — FormData
在此主要介绍 如何使用 formData 对象上传单文件和多文件,FormData 就是 XMLHttpRequest Level 2 新增的一个对象,利用它来提交表单、模拟表单提交,当然最大的优势就是可以上传二进制文件。
全栈程序员站长
2022/09/07
3.2K0
将文件拖到此处,点击上传
<template> <div v-loading="loading"> <el-upload ref="uploadExcel" class="upload-demo" drag :http-request="uploadFile" action="action" :limit="limitNum" :show-file-list="true" accept=".xlsx,.xls" :
达达前端
2020/11/12
1.3K0
vue+axios上传文件的几种方式及步骤(以上传图片为例)
注意:表单form加上属性enctype=”multipart/form-data”。客服端发送的头部就是:
全栈程序员站长
2022/06/25
11K0
vue+axios上传文件的几种方式及步骤(以上传图片为例)
Angular2里获取(input file)上传文件的内容
最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签。
Tuzei
2020/03/16
2.7K0
Vue 使用Axios上传文件
单独文件上传 HTML <input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/> JS methods: { update(e){ let file = e.target.files[0]; let param = new FormData(); //创建form对象 param.append('file',file);//通过app
码客说
2019/10/22
4.1K0
Vue上传文件遇到的问题[通俗易懂]
之前项目中前端使用了vue-cli,引入了上传组件,所以在上传文件时很容易,没有考虑太多问题。
全栈程序员站长
2022/11/10
7550
Node+Vue 实现大文件上传,断点续传等
【每日更新 Suggest 👍 question & answers】正经的前端学习 🌟🌟 一个 ☝️ 正经的前端学习,以阶段性来驱动学习,每天进步一点点🤏 !leetcode题解,记录自己的leetcode解题之路…… webvueblog.github.io/file-breakp… 地址 👇 github.com/webVueBlog/… Node+Vue 实现大文件上传,断点续传等 Vue 大文件上传和断点续传(帮忙点赞star谢谢,感谢♥) file-breakpoint-continue 源代码
达达前端
2022/04/29
2.9K0
Node+Vue 实现大文件上传,断点续传等
推荐阅读
相关推荐
字节面试官:请你实现一个大文件上传和断点续传
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验