利用FormData上传本地文件

这篇具有很好参考价值的文章主要介绍了利用FormData上传本地文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

最近接了个小项目,有个用客户端本地文件的需求。

正常这种需求都是前台传文件,后台去解析。

但这次C++的老哥非让我给文件路径,说公司平台有解析文件的能力。

我说web不是桌面端,拿不到真实路径,他还不信😪

最后一顿‘掰头’,还是传文件

本来还是想用element-plus省事,但想到用公司平台做前后台通信也就放弃了

还是用FormData吧!

FormData

FormData 对象是ajax2.0新提出的接口,它将数据编译成键值对,以便用来发送数据。

使用:new一个FormData对象,然后调用它的append()方法来添加字段;

当然, FormData还有其他的方法,这里就不一一介绍了。
利用FormData上传本地文件

上传文件

首先,我们创建一个input框,用于上传文件并绑定change事件,然后通过change事件拿到文件。

利用FormData上传本地文件

然后,实例化一个FormData对象, 将文件通过append方法,添加到FormData对象。

最后,将添加好的FormData通过xhr发送到后台。

示例代码

    <input type="file" onchange="upload(event)">

    const upload = function (event) {
        let file = event.target.files[0];
        const formData = new FormData();
        formData.append('file', file);
        
        // xhr发送到后台
        // ...
    }

拓展

在此基础之上,可以拓展一下,将数据(通过 Blob 对象,以及File 对象)转成文件后,再发到后台。

虽然,这么说有点蠢,一般没有人会这么干,但是在上传一些工程文件还是有应用场景的。

至少我用到了,你呢?

结语

本文到此结束,谢谢大家的观看!

如有问题,欢迎各位指正!文章来源地址https://www.toymoban.com/news/detail-428690.html

到了这里,关于利用FormData上传本地文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端使用FormData上传多个文件

    FormData: 文档介绍 https://developer.mozilla.org/zh-CN/docs/Web/API/FormData 当接口需要文件格式的参数进行文件上传时,前端上传的文件需要使用 FormData FormData主要作用:网络请求中处理用来异步的上传文件 例如: 前端调用方法如下:  页面调用结果如下图  

    2024年02月15日
    浏览(101)
  • element ui通过formdata上传文件

    使用场景:选取好excel文件后,再把导入的excel文件和参数同时提交给服务器,需要用到文件的手动上传,但是直接拷贝官网的demo会出现问题,下面会具体说明要注意的问题点。???直接上代码:index.vueel-form ref=“importList” :rules=“ImportRules” :model=“importList” label-positio… 选取

    2024年02月01日
    浏览(59)
  • uniapp开发App上传formData文件

    在uniapp中上传文件(FormData)发现uni.request不支持FormData uni.request 请求发送格式Object|String|ArrayBuffer三种格式 uniapp也给了解决办法 uni.uploadFile(OBJECT) filePath是图片文件路径 name是FormData字段(avatarfile) formData是file文件数据 这里就不使用FormData 这里借用chooseImage获取 tempFilePaths ,

    2024年02月12日
    浏览(38)
  • 利用vscode--sftp,将本地项目/文件上传到远程服务器中详细教程

    1、首先在 vscode 中下载  sftp : 2、然后在 vscode 中打开本地将要上传的项目或文件:  3、安装完后,使用快捷键  ctrl+shift+P  打开指令窗口,输入  sftp:config  ,回车,在当前目录中会自动生成  .vscode  文件夹及  sftp.json host:工作站的IP地址 port:ssh的端口 username:工作站自

    2024年02月15日
    浏览(48)
  • vue+elementui中el-upload组件上传文件时,修改文件名,不用FormData

    今天在开发的时候,后端突然提了一个需求,因为特殊的文件上传不进文件服务器,所以后端问我能不能上传的时候给加个扩展名,本着只要逻辑没问题,都可以通过代码实现的理念,我说:“可以“”,于是乎有了这篇文章。 首先是去element官网逛了逛,发现也没有提供修

    2024年02月06日
    浏览(48)
  • 小程序FormData格式传参(上传图片,删除图片)

          微信小程序开发需要选择本地照片file连同一些表单数据,通过接口发送给服务器,小程序上传图片可以用微信自带的wx.uploadFile方法去传(自带FormData)        wx.uploadFile这个只能一张一张的上传,所以上传图片如果是需要批量的,需要循环调用接口

    2024年02月12日
    浏览(42)
  • element上传图片,调取接口传值,参数FormData为空

    输入完reason,选完文件后,点击提交按钮后 调取接口。 上传文件 orderFile 字段一直为空 打印了发现,上传文件也是有值得。但是传到接口中就为空 json 里边不能放 file ,但是 formData 里可以放 file 也可以放 json 应该说是 formData 里可以放任何你需要提交的东西 所以 修改后将需

    2024年02月11日
    浏览(43)
  • 使用Vue + FormData + axios实现图片上传功能实战

    前言 上节回顾 上一小节中,我们添加了 Vue-router 的路有数据,这些数据都将是后续实战课程中的真实路由数据了。同时引入了 ElementUI 的 el-menu 做为左侧菜单的组件,但本专栏的特点就是遇到第三方功能和组件,自己尽量也要实现一遍,所以,在文章末尾又自己实现了一个

    2024年02月09日
    浏览(42)
  • formData手动上传问题前端如何传递后端如何接收

    参考文章: 解决Current request is not a multipart request axios上传文件错误:Current request is not a multipart reques 之前使用el-upload使用默认action表单提交.前端默认content-type为multipart/form-data.没有问题. 后期渐进式优化.修改为axios+formdata传递内容. Current request is not a multipart request 这个错误是因

    2024年02月03日
    浏览(46)
  • 13 使用Vue + FormData + axios实现图片上传功能实战

    前言 上节回顾 上一小节中,我们添加了 Vue-router 的路有数据,这些数据都将是后续实战课程中的真实路由数据了。同时引入了 ElementUI 的 el-menu 做为左侧菜单的组件,但本专栏的特点就是遇到第三方功能和组件,自己尽量也要实现一遍,所以,在文章末尾又自己实现了一个

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包