在Angular 6中,当使用文件上传时遇到“不支持的媒体类型 415”错误,通常是由于服务器端未正确处理请求的Content-Type引起的。您可以通过以下步骤来解决这个问题:
// 创建一个FormData对象
const formData = new FormData();
// 将文件添加到FormData对象中
formData.append('file', file);
// 发送文件上传请求
this.http.post('http://example.com/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' } })
.subscribe(response => {
// 处理响应
}, error => {
// 处理错误
});
请注意,这里的Content-Type设置为multipart/form-data
,这是用于文件上传的常见Content-Type。
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer();
app.post('/upload', upload.single('file'), (req, res) => {
// 处理上传的文件
const file = req.file;
// 返回响应
res.send('文件上传成功');
});
app.listen(3000, () => {
console.log('服务器已启动');
});
在上述代码中,我们使用了multer中间件来解析multipart/form-data类型的请求,并将上传的文件存储在req.file
对象中。您可以根据您的服务器端框架和需求进行相应的调整。
通过以上步骤,您应该能够解决“Angular 6 - 文件上传不支持的媒体类型 415”错误。请确保您的服务器端和客户端代码正确配置和处理文件上传请求。