首页 > 其他分享 >用html实现本地文件的上传

用html实现本地文件的上传

时间:2023-12-15 11:58:18浏览次数:29  
标签:文件 formData 表单 xhr html 本地 var 上传

实现本地文件的上传需要使用到HTML5中的File API和FormData对象。以下是一个简单的实现示例:


<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>文件上传</title>
</head>
<body>
  <form id="upload-form">
    <label for="file-input">选择文件:</label>
    <input type="file" id="file-input" name="file">
    <br>
    <button type="submit">上传文件</button>
  </form>
  
  <script>
    var form = document.getElementById('upload-form');
    form.addEventListener('submit', function(event) {
      event.preventDefault();  // 阻止表单默认提交
      
      var fileInput = document.getElementById('file-input');
      var file = fileInput.files[0];  // 获取文件对象
      
      var formData = new FormData();
      formData.append('file', file);  // 添加文件到formData对象
      
      var xhr = new XMLHttpRequest();
      xhr.open('POST', 'http://localhost:8080/upload');  // 发送POST请求到上传文件的后台接口
      xhr.send(formData);  // 发送表单数据
      
      xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) {
          console.log('文件上传成功', xhr.responseText);
        }
      };
    });
  </script>
</body>
</html>

以上代码实现了一个简单的文件上传表单,它包含一个文件选择输入框和一个提交按钮。当用户选择了一个文件并点击了提交按钮,会使用AJAX方式将文件上传到指定的后台接口(这里的接口地址是http://localhost:8080/upload,你需要根据自己的需求修改)。

注意,在示例代码中,我们取消了表单的默认提交行为,使用AJAX发送请求。在表单中使用AJAX发送请求会更加简明且专业(expected),而且还可以较容易地进行前端校验和数据处理。

 

参考文章: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/

欢迎入群一起讨论

 

 

标签:文件,formData,表单,xhr,html,本地,var,上传
From: https://www.cnblogs.com/songsu/p/17903073.html

相关文章

  • c# 本地文件上传到服务器
    1、先把服务器上的路径设置成共享路径2、代码如下stringfileName="5002356611";//替换为你要查找的文件名stringaaa=@"E:\SAP图片";//替换为源文件夹的路径stringb=@"\\173.1.60.169\test";//替换成实际的网络路径(该路径必须是共享文件夹)var......
  • HTML5 文件上传下载的实例代码
    前言HTML5中提供的文件API在前端中有着丰富的应用,上传、下载、读取内容等在日常的交互中很常见。而且在各个浏览器的兼容也比较好,包括移动端,除了IE只支持IE10以上的版本。想要更好地掌握好操作文件的功能,先要熟悉每个API。FileList对象和file对象HTML中的input[type=......
  • 【TFTP】客户端上传文件
    1////客户端上传文件2#include<stdio.h>3#include<string.h>4#include<unistd.h>5#include<arpa/inet.h>6#include<netinet/in.h>7#include<sys/types.h>8#include<sys/stat.h>9#include<fcntl.h&g......
  • html 5(三)之框架标签
    iframe嵌入嵌入广告<iframesrc="网址"height=""width=""frameborder=""></iframe>与超链接target关联<ahref="httos://www.toutiao.com"target="container">头条</a><iframename=&q......
  • html 5(二)之表单
    表单表单也就是交互区域<formaction="https://www.baidu.com/s"target="_self"method="get"><inputtype="text"name="wd"><button>搜索</button></form><form>表单标签......
  • html (六)全局属性
    全局属性:id、class、id作用:锚点、label表单控件关联注意:不用在<head>、<html>、<meta>、<script>、<style>、<title>使用该属性仅限一个html不能重复class作用:指定类名,配合CSS表示样式styleCSS设置样式dir值:ltr、rtl<dbodir="rtl">你好</dbo>title用于超......
  • Python——了解Html+Css语言代码
    HTML(HyperTextMarkupLanguage超文本标记语言)用特殊的一种标签把需要特殊展示出来的内容圈起来。这就是标记语言语法规则<标记>被标记的内容</标记><标记/>巨大的坑。在以前2000年左右。那个时候语法规则不够规范。有些人写HTML的时候习惯性的漏掉括回文本:文字,字符串,符号。超......
  • 用JAVA实现大文件上传及显示进度信息
    一. 大文件上传基础描述:各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容。比如:Spring 框架中使用类似CommonsMultipartFile对象处理表二进制文件信息。而.NET 中使用HtmlInputFile/ Ht......
  • PHP复用CURL简单文件上传的2种方法
    方法一:curlFile客户端$filePath='head.txt';//创建CURLFile对象$file=newCURLFile($filePath);//创建cURL资源$ch=curl_init();//设置cURL选项curl_setopt($ch,CURLOPT_URL,$your_upload_url);//替换为实际的上传接口URL......
  • Vue 图片上传formdata()传参形式
    1.接口需要设置 headers:{'Content-Type':'multipart/form-data'}, from-data流的形式传参 2.jshtml://文件上传<divclass="file"><el-buttontype="primary"style="width:170px"icon="el-icon-upload......