【发布时间】:2018-08-11 10:36:58
【问题描述】:
我将文件详细信息从 Angular 发送到我的 app.js
onFileSelected(event: EventEmitter<File[]>) {
const file: File = event[0];
console.log(file);
const formData = new FormData();
formData.append('file', file);
const r = new XMLHttpRequest();
r.open('POST', '/user/upload');
r.send(formData);
}
然后在 app.js 中
const multer = require('multer');
const upload = multer({dest:'./pics/'});
router.post('/upload', upload.single('image'), (req,res) => {
const body = req.file;
console.log(body);
const base64Data = new Buffer(JSON.stringify(body)).toString("base64");
console.log(base64Data);
}
我的console.log(body) 给了
{ fieldname: 'image',
originalname: '21329726_1866651723650020_188839340_o.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: './pics/',
filename: '5146c9818ff517c426e34ad84ff3513f',
path: 'pics/5146c9818ff517c426e34ad84ff3513f',
size: 94093
}
现在问题来了-
1 - 我不想将我的 image/pdf 文件上传到任何文件夹,但它正在上传到 './pics/'。
2- 我想在cloudinary 中上传该文件,这就是为什么我想生成该文件的base64,但是当我生成base64 并将其上传到云中时,它会出错。
我认为base64 中的编码方法不正确,或者我编码的数据格式错误。
请帮帮我。
【问题讨论】:
标签: javascript node.js angular multer