首页 > 其他分享 >使用 FormData上传file文件 使用接口通过FormData上传头像

使用 FormData上传file文件 使用接口通过FormData上传头像

时间:2022-12-01 14:13:21浏览次数:39  
标签:文件 log data FormData file 上传

文件选择标签 type="file" 属性可以获取选择文件 accept="image/*" 推荐选择 图片类 /* 通配,所有 placeholder 提示信息 语法: 1. `accept`属性引导用户选择文件 1. 多个用`,`分隔 2. `image/*`,所有图片 3. 它定义了文件 input 应该接受的文件类型 2. `onchange`会在选择的文件改变时触发 3. `files`属性可以获取选择的文件

 <body>
    <!--  文件选择标签
        type="file" 属性可以获取选择文件
        accept="image/*" 推荐选择 图片类  /* 通配,所有
        placeholder 提示信息
     语法:
     1. `accept`属性引导用户选择文件
     1. 多个用`,`分隔
     2. `image/*`,所有图片
     3. 它定义了文件 input 应该接受的文件类型
     2. `onchange`会在选择的文件改变时触发
     3. `files`属性可以获取选择的文件
    -->
    <input
      type="file"
      name="avatar"
      accept="image/*"
      placeholder="请选择头像"
    />
    <script>
      // change 内容发生变化时触发
      const inpit = document.querySelector('[type="file"]');
      inpit.addEventListener("change", (e) => {
        // files[0] 上传文件的信息 文件流
        console.log(e);
        console.log(e.target);
        // 后续把相关的信息给到后端
        console.log(e.target.files[0]);
      });
    </script>
  </body>
使用接口直接通过FormData  上传头像
<body>
    <h2>直接通过FormData</h2>
    <!-- e.target.files[0] -->
    <!-- 推荐用户选择 图片 -->
    <input type="file" accept="image/*" />
    <img src="" alt="" />
    <!-- 点击按钮 上传用户选择的图片 -->
    <button>上传</button>
    <script src="./lib/axios.js"></script>

    <script>
      // 1.点击按钮上传图片
      document.querySelector("button").onclick = () => {
        // 1.1获取上传的文件、图片
        const img = document.querySelector('[type="file"]').files[0];
        // console.log(img);
        // 1.2将上传的文件存起来
        const data = new FormData();
        data.append("avatar", img);
        // console.log(data.get("avatar"));
        // 1.3发送请求 把数据增加到后端
        axios({
          method: "post",
          url: "http://ajax-api.itheima.net/api/file",
          data,
        }).then((res) => {
          console.log(res);
          // 1.4把图片显示在页面
          document.querySelector("img").src = res.data.data.url;
        });
      };
    </script>
  </body>

 

 

 

标签:文件,log,data,FormData,file,上传
From: https://www.cnblogs.com/JAG2671169285/p/16941232.html

相关文章

  • layui upload 分块上传实现
    由于项目需要上传超大文件,当然现在的条件好了,1-3百M的文件没多大问题,但是超过1G的还是有问题的。(当然oss单个文件最高可以5g)对于大额文件上传存在上传缓慢甚至失败的问题......
  • iOS开发之打包上传到App Store——(一)各种证书的理解
     OK,有日子没写iOS开发的相关文章啦,主要是最近的精力都没在这上面,不过既然产品已经快要出来了,就有必要了解一下各种证书啥的(众所周知iOS的一堆证书可是很让人头大呀),最近......
  • File
    File:代表磁盘里面存在或者不存在的目录/文件,在java.IO*包里面常用构造:File(Fileparent,Stringchild)从父抽象路径名和子路径名字符串创建新的File实例。File......
  • PHP上传进度条深度解析
    分析一、程序需要php的apc模块的支持,关键点就是在上传的form里添加一个hidden的inpu标签,里面要有name为APC_UPLOAD_PROGRESS的属性,value值为一个随机数一遍多个人上传。apc......
  • PHP 大文件上传进度条实现
    核心提示:目前我知道的方法有两种,一种是使用PHP的创始人RasmusLerdorf写的APC扩展模块来实现,另外一种方法是使用PECL扩展模块uploadprogress实现。目前我知道的方法有两种......
  • 小新学Java14-【File类、递归】
    一、File类1.1概述java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2构造方法①File(Stringpathname)通过将给定路径......
  • minio上传文件
    1.pomminio依赖2.application.yml中添加minio参数3.config下读取yml中的minio配置信息importlombok.Data;importorg.springframework.boot.context.properties.Config......
  • 从零开始的docker和docker-compose打包上传自己的镜像
    步骤:项目准备1.下载一个干净的springboot项目,没有多余的依赖​​https://github.com/wangzixi-diablo/mySpringBoot​​2.进入项目文件夹,运行mvnspring-boot:run查看运行结......
  • vue a-upload组件上传图片,headers和data字段自定义
    <divclass="clearfix"><a-uploadlist-type="picture-card":file-list="fileList"@preview="handlePreview"@change="handleChange":before-upload="......
  • file 重命名
    publicclassFileUtils{//重命名文件publicstaticvoidreNameFile(StringoldPath,StringnewPath){booleanresult=newFile(oldPath).renameTo(......