【发布时间】:2020-01-21 20:15:41
【问题描述】:
当我从输入中获取图像时 我必须将其转换为缓冲区才能对图像进行一些操作,因此我有一个缓冲区而不是文件。 我在流星中使用 FileCollection 将图像存储在 mongo 集合中
uploadIt(e) {
e.preventDefault();
var reader = new FileReader();
var buffer;
var file = e.currentTarget.files[0];
if (e.currentTarget.files && e.currentTarget.files[0]) {
reader.onload = function(e){
buffer = new Uint8Array(reader.result);
// some operations over the buffer
};
reader.readAsArrayBuffer(file);
if (file) {
let uploadInstance = CourseFilesCollection.insert({
file: buffer,
..
..
})
}
}
但是当我插入它时出现了这个错误
message: "[FilesCollection] [insert] 你忘记传递文件本身了吗?
原来的代码是
if (file) {
let uploadInstance = CourseFilesCollection.insert({
file: file,
..
..
})
}
但是由于我必须对图像执行操作,所以我需要以某种方式将缓冲区转换为文件 任何想法如何解决这个问题?
【问题讨论】:
标签: javascript mongodb image meteor