前后端分离实现上传图片

在这里插入图片描述先将图片保存到本地,然后返回给前端一个带/dev-api/的相对路径
前端通过配置代理,将/dev-api/代理到localhost:8080,代理到后端服务器上
在这里插入图片描述最主要的是后端要开开启服务端和本地的映射

在这里插入图片描述
通过服务地址映射到本地地址,这样前端就可以通过相对地址访问到在本地上的图片文件了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前后端分离时,上传图片的一种常见做法是通过前端将图片转换为Base64编码,并将编码后的数据作为请求的参数发送给后端。后端接收到请求后,解码Base64数据,并将其保存为文件。 以下是一个示例的前端代码,使用JavaScript实现图片上传并将其转换为Base64编码: ```javascript // HTML部分 <input type="file" id="imageUpload" accept="image/*"> // JavaScript部分 const imageUpload = document.getElementById('imageUpload'); imageUpload.addEventListener('change', (event) => { const file = event.target.files[0]; const reader = new FileReader(); reader.onloadend = function () { // 图片加载完成后的回调函数 const base64String = reader.result; // 获取Base64编码 // 将base64String发送给后端 // ... }; reader.readAsDataURL(file); // 读取文件并转换为Base64编码 }); ``` 在后端,你可以使用你熟悉的编程语言和框架来接收Base64编码的数据,并进行解码和保存。以下是一个示例的后端代码,使用Node.js和Express框架来处理图片上传请求: ```javascript const express = require('express'); const fs = require('fs'); const app = express(); // 处理图片上传请求 app.post('/upload-image', (req, res) => { const base64Data = req.body.base64Data; // 假设前端发送的Base64编码数据在请求体中名为base64Data // 解码Base64数据 const imageData = Buffer.from(base64Data, 'base64'); // 保存为文件 fs.writeFile('uploaded-image.jpg', imageData, (err) => { if (err) { console.error(err); res.status(500).send('Image upload failed.'); } else { res.send('Image uploaded successfully.'); } }); }); app.listen(3000, () => { console.log('Server is running on port 3000.'); }); ``` 这只是一个简单的示例,你可以根据自己的需求和技术栈进行相应的调整和优化。注意,在实际应用中,你可能还需要添加文件类型验证、文件大小限制等的逻辑来增强上传功能的安全性和鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值