后端如果传的是base64文件,前端如何发送请求并接受
时间: 2023-12-30 18:03:32 浏览: 125
前端可以使用 `FileReader` 对文件进行读取,然后将文件转换成 base64 字符串,再将 base64 字符串作为请求的参数发送给后端。
以下是一个示例代码:
```javascript
// 读取文件并转换成 base64 字符串
function readFileToBase64(file) {
const reader = new FileReader();
reader.readAsDataURL(file);
return new Promise((resolve, reject) => {
reader.onload = () => {
resolve(reader.result.split(',')[1]);
};
reader.onerror = () => {
reject(reader.error);
};
});
}
// 发送请求
const fileInput = document.querySelector('input[type="file"]');
const file = fileInput.files[0];
readFileToBase64(file)
.then(base64String => {
fetch('/api/upload', {
method: 'POST',
body: JSON.stringify({ file: base64String }),
headers: { 'Content-Type': 'application/json' }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
})
.catch(error => console.error(error));
```
在后端接收到请求后,可以将 base64 字符串解码成文件保存。具体实现方式可以根据后端语言和框架来确定。例如在 Node.js 中可以使用 `Buffer` 对象将 base64 字符串解码成文件保存。
阅读全文