html/javascript实现简单的上传

js+html实现表单上传word等文件 先是js部分。 我在其中写了登录验证部分,可以根据需求增删。(其中 swal()是调用了sweetAlert插件的方法,详见http://www.dglives.com/demo/sweetalert-master/example/) function fileSelected() { var file = document.getElementById('fileToUp 阅读详情

一、 上传用到的按钮类型是type = file

二、 为了美化上传按钮,我们通常会自定义按钮,将默认的上传隐藏掉。

fileInputs.click() 触发上传按钮点击

三、 new FileReader()

读取文件内容方法:
readAsText() 读取文本文件,(可以使用Txt打开的文件)
readAsBinaryString(): 读取任意类型的文件,返回二进制字符串
readAsDataURL(): 方法可以将读取到的文件编码成DataURL ,可以将资料(例如图片、excel文件)内嵌在网页之中,不用放到外部文件
abort: 中断读取

文件的状态的获取:(根据自身情况使用)

onabort:读取文件断片时触发
onerror:读取文件错误时触发
onload:文件读取成功时触发 (这里我就简单的用了onload)
onloadend:文件读取完毕之后,不管成功还是失败触发
onloadstart: 开始读取文件时触发
onprogress:读取文件过程中触发

为了更直观的看到区别,我为大家截取了reader上传前后的数据。(如下图)

reader对象上传前的数据:

上传后通过readAsDataURL处理后的数据:

四、 file文件

const fileInputs = document.querySelector('.fileDoms')

console.log("file文件",fileInputs.files)

五、完整的代码展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>上传</title>
</head>
<body>
    <div class="upload">
        <img src="" alt="" style="width: 200px;height:200px;background:red;">
        <button>点击上传</button>
        <input type="file" style="display:none" class="fileDoms" onchange="changeFile()"/>
    </div>
</body>
<script>
    let btn  = document.querySelector(".upload button")
    let img = document.querySelector(".upload img")
    const fileInputs = document.querySelector('.fileDoms')
    btn.onclick = btnclick
    function btnclick(){
        fileInputs.click()
    }
    function changeFile(){
        console.log("上传")
        let reader = new FileReader();
        reader.readAsDataURL(fileInputs.files[0]);
        reader.onload = function(a){
            img.src = a.target.result; //等同于reader.result
            console.log(a,reader,reader.result);  
        }
    }
    </script>
</html>

掌握HTML文件上传:从基础到高级技巧 HTML中的<input type="file">标签是实现文件上传功能的核心组件。通过设置type="file",用户可以选择本地文件进行上传。常用属性包括accept(限制文件类型)、multiple(允许多文件上传)、capture(优先使用摄像头或麦克风)和required(必须选择文件)。表单需配置enctype="multipart/form-data"和method="POST"以确保文件正确上传。Ja 阅读详情

相关推荐

html + js 实现图片上传,压缩,预览及图片压缩后得到Blob对象继续上传问题

先上效果 上传图片后(设置了最多上传3张图片,三张后上传按钮消失) 点击图片放大,可以使用删除和旋转按钮 (旋转功能主要是因为ios手机拍照后上传会有写图片被自动旋转,通过旋转功能可以调正)   html页面    需要引入weui.min.css 不然没法渲染样式, 将下面的代码放在需要上传文件的地方就行了,如果不需要图片旋转功能, 可以直接删掉那个div, 改不改js无影...

弓长张_木子李的博客 5158

在html中实现文件上传、文件分块上传功能

在html中实现文件上传、文件分块上传功能

easydvlp的博客 3211

HTML实现文件上传

name属性用于指定文件输入框的名称,这个名称将在后端脚本中用于访问上传的文件。在上述示例中,当用户选择一个文件并点击"上传文件"按钮时,表单数据将被发送到服务器端脚本"upload.php"进行处理。在上面的代码中,我们创建了一个表单(form)元素,并设置了action属性为"upload.php",这意味着在提交表单时,表单数据将被发送到名为"upload.php"的服务器端脚本进行处理。请注意,文件上传涉及到安全性和文件验证等方面的考虑,因此在实际应用中,您可能需要进行更多的验证和处理。

CyberGenius的博客 1595

用html实现本地文件的上传

参考文章:http://blog.ncmem.com/wordpress/2023/12/15/%e7%94%a8html%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e6%96%87%e4%bb%b6%e7%9a%84%e4%b8%8a%e4%bc%a0/当用户选择了一个文件并点击了提交按钮,会使用AJAX方式将文件上传到指定的后台接口(这里的接口地址是http://localhost:8080/upload,你需要根据自己的需求修改)。

weixin_45525177的博客 2185

HTML5表单中的文件上传(File Input)是什么? 如何在编程中使用它?

在文件上传成功后的回调函数中,我们可以对上传的文件进行进一步的处理,例如保存到服务器的特定位置。总结来说,HTML5表单中的文件上传是通过元素实现的。文件上传是Web开发中非常常见和重要的功能之一,它为用户提供了方便的方式来上传文件并与其他用户共享。在标签中,我们指定了表单的action属性为"/upload",这表示在提交表单时,文件将被上传到服务器上的"/upload"路径。需要注意的是,文件上传涉及到服务器端的处理,因此在实际开发中,我们需要结合服务器端的编程语言和框架进行文件上传的处理。

VqRuby的博客 466

实现基于JS和HTML5的图片上传及预览功能

图片上传是Web应用中一项基本功能,HTML5通过元素简化了文件上传的实现。本章节将介绍如何使用HTML5原生元素实现图片上传的基本步骤和关键点。FileReader是一个JavaScript API,用于读取用户设备上的文件。开发者可以使用它读取文件系统中的文件(或者原始数据缓冲区)内容,并将这些内容以文本或二进制格式读取到内存中。FileReader接口特别适合在需要读取文件内容的场合使用,比如在本章节中,我们将使用它来实现图片的预览功能。FileReader接口以及其。

weixin_35294091的博客 909

WebService 大文件上传,断点续传分片

用户上传的文件比较大,有20G左右,直接用HTML传的话容易失败,服务器也容易出错,需要分片,分块,分割上传。百度WEBUPLOADER上传视频等大文件,WEBUPLOAD组件实现文件上传功能和下载功能,JS大文件切片上传,断点续传实现DEMO,前端上传大文件的解决方案,前端上传大文件处理(切片、断点续传),前端大文件上传优化方案——分片上传,vue大文件上传解决方案,vue大文件上传解决方案10G,vue大文件上传解决方案50G,vue大文件上传解决方案100G,html5如何实现大文件断点续传、秒传,

weixin_52050572的博客 1762

HTML5与JavaScript实现的无组件文件上传

本文还有配套的精品资源,点击获取 简介:无组件上传技术允许网页应用通过HTML和JavaScript实现文件上传功能,而无需依赖服务器端特定组件。这种上传方式轻量级、易于维护,适用于小型项目。开发者通过创建 <input type="file"> 元素实现前端上传功能,并使用Ajax与FormData对象进行异步文件提交。服务器端则利用ASP的Re...

weixin_34163588的博客 1878

编程语言php实现简单的上传进度条,php上传进度条

编程语言php实现简单的上传进度条,php上传进度条 php实现简单的上传进度条,php上传进度条 Web上传文件的三种解决方案分享给大家: 这里我要使用的是form法。通过为表单元素设置enctype=”multipart/form-data”属性,让表单提交的数据以二进制编码的方式提交,在接收此请求的Servlet中用二进制流来获取内容,就可以取得上传文件的内容,从而实现文件的上传。 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 在网上找到了两种方式,P

305

实现HTML图片上传与预览的JavaScript教程

FileReader API是一种异步API,主要用于通过JavaScript操作和读取用户计算机上的文件。它可以用来读取用户通过或拖放操作选定的文件数据。特别地,在Web应用中,FileReader API经常用于读取图片文件,以实现诸如图片预览、转换图片格式或在不上传文件到服务器的情况下处理图片数据等场景。Ajax(Asynchronous JavaScript and XML)是一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。

weixin_42575505的博客 908

WorkBuddy实战技巧:搭建高效AI工作台与自动化流程

在数字化办公场景中,AI工作台正逐渐成为提升个人与团队效率的关键工具。它不同于简单的聊天机器人,而是通过集成技能包(Skill)、自动化触发与文档处理能力,把重复性任务如信息提取、周报生成、数据表格整理等变为标准化流程。其核心原理在于将用户需求拆解为可执行的指令链,并借助本地脚本、API调用及定时任务实现“对话即操作”的智能协作。这种技术价值不仅适用于程序员,更惠及运营、客服、行政、科研等日常与文字数据打交道的群体。从自动签到、会议纪要,到批量处理Excel与合同要点提取,AI工作台的应用场景已覆盖多个高频

weixin_42547431的博客 332

Node.js文件上传

Node.js express使用Multer实现文件上传html部分 &amp;lt;div&amp;gt; &amp;lt;h3&amp;gt;文件上传:&amp;lt;/h3&amp;gt; 选择一个文件上传: &amp;lt;br/&amp;gt; &amp;lt;form action="/upload" method="post" enctype=&quot

w18478272407的博客 117

森林冰火人html源码,森林冰火人单人版(源码)

【实例简介】java小游戏——森林冰火人,单人游戏, 实现人物行走,跳跃,吃水晶,具有计时功能,积分功能,倒计时结束游戏失败。【实例截图】【核心代码】森林冰火人单人版├── bin│ ├── game│ │ ├── Help.class│ │ ├── Logon.class│ │ ├── Main.class│ │ ├── Mykey.class│ │ ...

weixin_42507981的博客 6197

layui js图片上传功能

啊

weixin_45599105的博客 244

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2321

Altium Designer差分走线实战:从规则设置到阻抗匹配的完整流程

本文详细讲解了在Altium Designer中进行差分走线的完整实战流程,涵盖从原理图定义差分对、PCB布局管理、关键设计规则设置,到利用阻抗计算工具确定线宽与间距,以及布线技巧与等长处理等核心步骤。文章旨在帮助工程师掌握高速PCB设计中差分信号传输的关键技术,确保信号完整性并实现精确的阻抗匹配。

weixin_29163857的博客 257

js实现简单的图片上传

简单的 图片上传 更改了默认的 file 文件样式, 我这里是 图片上传成功后, 后台会返回一个 图片的绝对路径 ,在把绝对路径设置给 img 便签,直接在前台展示出来。 <form class="form-upload" id="formUpload" action="" method="post" enctype="multipart/form-data"> ...

WGS. 8004

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍

WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1275

【JS】基于原生JavaScript的大文件切片上传及断点续传实现

通过以上步骤,我们实现了一个基本的文件切片上传及断点续传功能。前端通过JavaScript将文件分成多个片段逐一上传,并记录上传进度;后端使用Node.js接收片段并在上传完成后将其合并成一个完整文件。这个实现方案可以根据实际需求进行优化和调整,例如增加并行上传、错误重试机制、进度通知等功能。本篇博客旨在为您提供一个实现思路以及基础代码,希望对您有所帮助!如果您有任何疑问或建议,欢迎留言讨论。

九日的博客 1976

Linux ARM平台开发系列讲解(GPIO子系统) 2.3.2 GPIO子系统常用函数解析

1. 概述 该章节会记录一年常用的GPIO子系统常用函数,会更具情况不断更新 static inline int gpio_get_value(unsigned int gpio) 功能 :用于获取某个GPIO引脚上的值 gpio : gpio引脚号 返回值:非负值,得到的 GPIO 值;负值,获取失败。 static inline void gpio_set_value(unsigned int gpio, int value) static inline int gpio_cansleep(unsi

DSMGUOGUO的博客 668

c语言实现求一个矩阵特征值和特征向量

前言 求矩阵的特征值,主要是用的QR分解,在我的有一次博客里,我已经详细地给出了计算的过程,大家有兴趣可以去看下,经过几天的钻研,终于完成了整个的eig算法。下面我将把我的整个代码附上,有不懂的可以问我,欢迎一起讨论学习! 这是对上一次的修改版,上一次写的程序是在C++编译环境下编译的,所以放在c里面编译有些会出错。 最后,如果有不对的地方希望大...

qq_36417014的博客 2万+

原生Js实现图片上传

HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>showImages</title> <link rel="stylesheet" type="text/css" href="css/upi...

This is HuangWenJun' 优快云. 2351

手把手教你学pcie--内存管理和保护机制(一):MPU与其他内存管理和保护机制详解

MPU(Memory Protection Unit)是一种专门用于 ​。,这些机制通常协同工作,形成多层防御体系,兼顾安全性、性能和灵活性。

MHD0815的博客 279

JavaScript中有哪些实现HTML5文件分片上传的插件?

要求:免费,开源,技术支持技术:百度webuploader,分块,切片,断点续传,秒传,MD5验证,纯JS实现,支持第三方软件集成前端:vue2,vue3,vue-cli,html5,webuploader后端:asp.net,.net mvc,.net core,asp,jsp,java,springboot,php,数据库:MySQL,Oracle,SQL Server,达梦,人大金仓,国产数据库。

weixin_52050572的博客 624

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JS大文件分片上传/多线程上传

JS大文件分片上传/多线程上传,JAVASCRIPT实现大文件分片上传处理,JS 大文件上传下载解决方案,前端JS怎么实现大文件G级的断点续传(分块上传)和分段下载,前端上传文件或者上传文件夹,HTML+AJAX实现上传大文件方案,h5批量下载文件,HTTP+断点续传,前端处理大文件/视频分片上传,断点续传,VUE—实现文件上传(多文件),图片上传,VUE 项目大文件上传下载解决方案,VUE将前端的JSON文件上传到后台对应目录,id=e1f49f3e1d4742e19135e00bd41fa3de。

alisky119的博客 1180

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

js实现简单的文件上传

文件下载:https://www.cnblogs.com/xiaomili/p/10521160.html html: <form name="form1" id="form1"> <input type="text" name="name" value="fdipzone"> <input type="te...

XYLH2015的博客 272

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 子元素撑满父元素
下一篇: JavaScript(if in语句)
JSON_JSJ
博客等级 码龄5年 4粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_JSJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值