js 使用fetch来上传文件 formdata()

简介: js 使用fetch来上传文件 formdata()
 <input type="file" name="" id="file">
    <script>
        // 文件上传
        // 流程: 
        // 1. 客户端将文件数据发送给服务器
        // 2. 服务器保持上传的文件到服务端
        // 3. 服务器响应给客户端一个文件访问地址
        // 键的名称(表单域名称): 服务端要求
        // 请求方法: Post
        // 请求表单的格式: 一般为 multipart/form-data
        // 请求体重必须包含一个键值对,键的名称是服务器要求的名称,值是文件数据
        // HTML中,JS仍然随意获取文件数据,但是可以获取到input元素中,被用户选中的文件数据
        async function upload() {
            const inp = document.getElementById("file");
            if (inp.files.length === 0) {
                alert("请选择上传文件")
                return false;
            }
            // 这里的请求体自己构建比较麻烦,一般使用HTML5里面的formData来构建
            const formData = new FormData();
            formData.append("key", inp.files[0]);
            const url = "xxxx.xxx.xxxx";
            const resp = await fetch(url, {
                method: "POST",
                body: formData //自动修改请求头,formdata的默认请求头的格式是 multipart/form-data
            })
            const res = await resp.json();
            // res 就是服务器返回的结果
        }
    </script>
相关文章
|
9月前
|
JavaScript
JS 上传文件--获取视频文件宽高
JS 上传文件--获取视频文件宽高
295 0
|
10月前
|
JavaScript 前端开发 应用服务中间件
【前端项目笔记】原生js上传文件及文件转换成base64、blob类型
项目中经常会用到上传图片上传视频等功能,由于后端nginx限制,经常要进行文件转化才能上传,大文件可能还要进行切片上传处理。
470 1
|
4月前
|
JSON 前端开发 JavaScript
JavaScript学习 -- fetch的使用
JavaScript学习 -- fetch的使用
44 0
|
7月前
|
JSON 前端开发 JavaScript
JavaScript学习 -- fetch的使用
JavaScript学习 -- fetch的使用
41 0
|
JavaScript Java 开发工具
JS:Vue项目浏览器直接上传文件到阿里云OSS
JS:Vue项目浏览器直接上传文件到阿里云OSS
1174 0
|
11月前
|
XML 存储 JSON
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(下)
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(下)
|
11月前
|
存储 JSON 缓存
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(中)
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(中)
|
11月前
|
XML 存储 JSON
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(上)
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(上)
【JavaScript】爆肝 2 万字!一次性搞懂 Ajax、Fetch 和 Axios 的区别~(上)
|
11月前
|
前端开发 JavaScript API
前端祖传三件套JavaScript的网络请求之Fetch
在前端开发中,Fetch API 是一种现代化的网络请求技术,可以用于替代传统的 XMLHttpRequest(XHR)对象。本文将介绍 Fetch 的基本原理和使用方法。
407 0
|
JavaScript
js:Axios通过onUploadProgress获取上传文件进度和上传速度
js:Axios通过onUploadProgress获取上传文件进度和上传速度
426 0