nodejs element-ui上传图片方法
程序开发
2023-09-02 22:11:03
首先要明确要做什么:需要在表单选中本地图片后,在表单中显示图片,并且将图片保存至服务器端以便数据库保存和调用图片路径。
问题的后半部份比较简单:只要在服务器端有这张图片,那么将它显示出来也就是通过请求对应的路径。具体来说如下图:

这里用的是nodejs,根据请求的参数返回assets文件夹中保存的图片
相对来说前半部分问题比较麻烦,也就是将表单选中的本地图片保存至服务器端,查了不少资料折腾了一上午终于综合了一个解决方案:
![[(img-vx1fnh3J-1643864434725)(C:Users35378AppDataRoamingTyporatypora-user-imagesimage-20220203123916980.png)]](https://img-blog.csdnimg.cn/4263536c60fd4773894c1c6f88494dca.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m955Sw,size_20,color_FFFFFF,t_70,g_se,x_16)
这里用的是element-ui的图片上传,用before-upload方法来获取上传的文件的同时直接将文件post给后端,应该还有更正规的做法。

这里新建了一个FormData,将上传的图片作为file添加到formData中,调用api中的post请求将FormData作为payload
再来后端处理post请求:后端需要做的是将post请求中的图片保存至服务器端,需要用到的有


并且配置好中间件multer的保存位置和保存文件名,由于这里用的是自己的笔记本就保存在同一个文件夹下。

最后在处理post请求中加上参数upload.single(‘file’)就会调用中间件保存载荷图片,这里的file如果不这么写会报错MulterError: Unexpected field

这样一来服务端就保存到上传的图片了,之后具体的细节就不赘述了。
标签:
相关文章
-
无相关信息
