javascript - 角度文件上传 SyntaxError:位置 1 的 JSON 中的意外数字
问题描述
我正在尝试使用节点服务器在角度项目中进行文件上传
角度:
public uploadFile(file: File): Observable<any> {
const formData: FormData = new FormData();
formData.append('file', file, file.name);
return this.http.post<any>(environment.api_url + '/upload', formData);
}
节点
function upload(req, res){
var dir = __dirname +'/../uploaded';
var fileDir;
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
var form = new IncomingForm({ uploadDir: __dirname + '/../uploaded' });
let readStream;
form.on('file', (field, file) => {
fs.renameSync(file.path, file.path + '_' + file.name);
fileDir = file.path + '_' + file.name;
fileDir = fileDir.replace(__dirname, '');
});
form.on('end', () => {
dirname = path.join(__dirname, '/../uploaded');
fileDir = fileDir.replace(dirname + '\\', '');
fileDir = fileDir.replace('/app/src/uploaded/', '');
return res.status(200).json({ 'file': fileDir }).end();
});
form.parse(req);
}
当我提交表单时,我收到错误:
events.js:167
throw er; // Unhandled 'error' event
^
SyntaxError: Unexpected number in JSON at position 1
at JSON.parse (<anonymous>)
我找不到问题的根源我在客户端和服务器端尝试了不同的方法。JSON数据有问题,但我无法通过此文件上传来修改它,
希望有人有解决方案
解决方案
你能通过放置这行代码来试试上面的代码吗
form.parse(req);
在这条线之后
var form = new IncomingForm({ uploadDir: __dirname + '/../uploaded' });
推荐阅读
- python - 如何从前几个月的中位数计算每个月的百分比变化
- python - Wagtail 使用一对一模型自定义用户帐户设置表单
- ios - Keyboardavoidingview 导致屏幕内容跳转 react native
- python - 更改熊猫中的列名
- java - HtmlUnit - 从链接元素获取 href 内容
- python - pd.read_sql,如何转换数据类型?
- apache - 在 Xampp 中托管数据库(在单独的固定端口中)
- java - 为什么 java.net.URI isAbsolute() 方法为具有片段的 URI 返回 true?
- python - 如何写正确的条件?(分棋)
- java - 如何将静态对象发送到 Thymaf 视图?