nodejs使用axios以formdata形式上传图片

news2024/11/23 7:24:33

nodejs使用axios以formdata形式上传图片

FormData是一种用于发送表单数据的接口,它可以用来上传文件。在前端,可以通过创建一个FormData对象,将要上传的文件添加到这个对象中,然后通过AJAX请求将这个FormData对象发送给服务器。服务器在接收到这个请求后,可以解析FormData对象,获取上传的文件。

首先安装三个包

npm i form-data
npm i request
npm i axios

代码

const FormData = require('form-data')
var request = require('request')
const axios = require('axios');

const fs = require('fs');

// 下载网络图片保存到本地
var src = 'https://img.zcool.cn/community/011aad554be56f000001bf72c38864.jpg@1280w_1l_2o_100sh.jpg'
var readStream = request(src)
readStream.pipe(fs.createWriteStream('./'+src.substr(src.lastIndexOf('/'),src.length)))

 readStream.on('end', function(response) {
	console.log('文件写入成功');

	const formData = new FormData()
	formData.append('file', fs.createReadStream('./'+src.substr(src.lastIndexOf('/'),src.length)))
	formData.append('type',1)
			     				 
	var headers = formData.getHeaders();//获取headers
	//获取form-data长度
	formData.getLength(async function(err, length){
		if (err) {
			console.log('------------------')
			console.log(err)
			return ;
		}
		//设置长度,important!!!
		headers['content-length']=length;

		axios.post(`https://admin.*****.com/api/api/upload`,formData,{headers}).then(datas=>{                    
			console.log("上传成功",datas.data);
			// console.log('datas=============================')
			// 删除文件
			fs.unlinkSync(__dirname+'/'+src.substr(src.lastIndexOf('/'),src.length))
			
		}).catch(res=>{
			console.log(res.message);
		})

	})
});

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity性能优化__Statistic状态分析

在Unity的Game视图右上角,我们会看到有Stats选项,点击会出现这样的信息 我使用的Unity版本是2019.4.16 一、Audio,顾名思义是声音信息 1:Level:-74.8dB 声音的相对强度或音量。通常,音量级别以分贝(dB&a…

超2000个大模型应用,支持文心4.0!AI Studio星河大模型社区升级上新

想给自己做个私人定制的旅行攻略,满足个性化的出游需求,还要细致关注到天气、穿衣、老人孩子的作息等等,但太耗时费力怎么办?让AI帮忙搞定。一位开发者在AI Studio星河大模型社区用短短数小时就做好了“旅行规划家”智能应用。像这…

睿趣科技:抖音开网店真的能相信吗

随着互联网的发展,越来越多的人开始尝试在网上开店。抖音作为一款短视频平台,近年来也逐渐成为了一个热门的电商平台。然而,关于抖音开网店是否真的能相信的问题,一直存在争议。 首先,我们需要了解抖音作为一个电商平台…

科幻类小说,探索科幻巨作,开启无限遐想,感受未知的奇妙世界

如果你渴望探索未来的无尽可能性,感受未知的魅力,那么小郑为你推荐三本科幻小说。这些书籍将带你进入一个充满惊喜的世界,让你对未来充满期待。 《星舰流浪文明》 这是一本硬科幻小说,讲述了星舰流浪文明的故事。这个文明在宇宙中…

【K8s】 资源管理命令-陈述式

一、资源管理介绍 1、资源管理概念 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes //kubernetes的本质就是一个集群系统,用户可以在集群中部署各种服务,起始就是在kubernetes集群中运行一个个容…

云原生安全日志审计

记得添加,把配置文件挂载进去 - mountPath: /etc/kubernetes/auditname: audit-policyreadOnly: true.....- hostPath:path: /etc/kubernetes/audit/type: DirectoryOrCreatename: audit-policy/etc/kubernetes/manifests/kube-apiserver.yaml 具体配置文件如下 a…

2003. 每棵子树内缺失的最小基因值 (困难,DFS,Set.update)

困难,还是一如既往的不会做,但是得写写自己的想法 先从根节点开始作深度搜索,对于每一个以 node 为根的子树,我们返回该子树排序后的基因集合,类似与归并排序显然在每次合并集合进行排序的时候我们就可以知道 node 子…

innovus: 如何写出floorplan和power信息

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 相关文章链接: innovus 报告多边形floorplan的boundary坐标 defOut 如果是自己用的floorplan信息可用如下命令: defOut -floorplan -allLayers fp.def 如果是dc…

JavaWeb项目Tomcat运行上一次的记录?

问题:修改JavaWeb项目的代码之后,tomcat仍然运行上一次的代码记录 原因:可能是由于运行了上一次成功记录的缓存 接解决办法: 来到运行部署的网页,按F12,打开“网络”->“禁用缓存”

解决多模态大模型幻觉问题的秘密武器:“啄木鸟”免重训方法!哪里出问题啄哪里!

夕小瑶科技说 原创 作者 | 付奶茶、王二狗 最近多模态大模型的研究取得了巨大的进展。然而,这些模型在生成时存在着文本与图像不一致的问题,这个问题就是一直困扰研究者们的“幻觉难题”。 ▲给定一幅图像,MLLM会输出的回应,包括…

堆栈和队列算法-双向队列

目录 堆栈和队列算法-双向队列 C代码 堆栈和队列算法-双向队列 双向队列(Double Ended Queues,DEQue)为一个有序线性表,加入与删除操作可在队列的任意一端进行。 具体来说,双向队列就是允许队列两端中的任意一端都…

Acrel-3000水电站厂用电管理系统实现电站的发、用电监控、设备管理和运维管理-安科瑞黄安南

NB/T 10861-2021《水力发电厂测量装置配置设计规范》对水电厂的测量装置配置做了详细要求和指导。测量装置是水力发电厂运行监测的重要环节,水电厂的测量主要分为电气量测量和非电量测量。电气测量指使用电的方式对电气实时参数进行测量,包括电流、电压、…

【VR开发】【Unity】【VRTK】2-关于VR的基础知识

【概述】 在VRTK的实操讲解之前,本篇先介绍几个重要的VR认识。 【VR对各个行业的颠覆】 如果互联网几乎把所有行业都重做了一遍,VR在接下来的几年很可能再把现有的行业都重做一遍,包括但不限于教育,房地产,零售&…

C#--继承

提高开发效率的一种手段 继承就是把大家共性的东西提取出来,共享 被僵尸咬一口你也是僵尸 C#不支持多重继承 C#类可以派生自另一个类和任意多个接口 继承具有单根性,一个派生类只能继承一个父类 如果没有写继承自那个类,默认继承object类&am…

面试官:聊聊kafka线上使用会有哪些问题?

哪些环节会造成消息丢失? 首先说说哪些环节会丢消息 消息生产者: (1)acks0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消 息。大…

AMEYA360:村田量产面向汽车的1.0μF 0.18mm超薄LW逆转低ESL片状多层陶瓷电容器

株式会社村田制作所已开发出面向汽车ECU(电子控制单元)中使用的处理器、超小*(0.5mm1.0mm)且超薄的LW逆转低ESL片状多层陶瓷电容器“LLC15SD70E105ME01”,并于9月开始量产。该产品T尺寸标准值为0.16 0.02 mm(厚度为最大0.18 mm),与普通多层陶瓷电容器不…

通配符/泛域名SSL证书

在互联网发展迅速的今天,许多网站都拥有多个子域名,例如www.example.com、blog.example.com和shop.example.com等。为了确保这些子域名之间的数据传输安全,通配符/泛域名SSL证书成为了一种广泛采用的解决方案。 1,什么是通配符/泛…

Kubernetes Taint(污点) 和 Toleration(容忍)

Author:rab 目录 前言一、Taint(污点)1.1 概述1.2 查看节点 Taint1.3 标记节点 Taint1.4 删除节点 Taint 二、Toleration(容忍) 前言 Kubernetes 中的污点(Taint)和容忍(Toleration…

highcharts 3D环形饼图

1.下载安装highcharts npm install highcharts --save2.在页面引入 import highcharts from highcharts3.在main.js引入 import highcharts from highcharts import highcharts3d from highcharts/highcharts-3d highcharts3d(highcharts)4.html部分代码 <div class"…

时间复杂度为 O(nlogn) 的排序算法

归并排序 归并排序遵循 分治 的思想&#xff1a;将原问题分解为几个规模较小但类似于原问题的子问题&#xff0c;递归地求解这些子问题&#xff0c;然后合并这些子问题的解来建立原问题的解&#xff0c;归并排序的步骤如下&#xff1a; 划分&#xff1a;分解待排序的 n 个元素…