我在前端使用react和react-router,node + express作为我的后端和cloudinary来存储我的图像文件。
我遇到的问题是,cloudinary api方法似乎无法打开/解析存储图像的数据blob
{ images: { preview: 'blob:http://localhost:8080/19526dcc-b67d-4697-b112-e5480de61d03' } }
cloudinary.v2.uploader.upload(body.images.preview, function(result) {
console.log(result)
})
错误回复:
{ Error: ENOENT: no such file or directory, open 'blob:http://localhost:8080/e7f30c71-7e06-4c36-801f-49666e9df053'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'blob:http://localhost:8080/e7f30c71-7e06-4c36-801f-49666e9df053'
}
由于react-router而不确定这是否是一个问题,还是应该将数据转换为其他格式?
路线看起来像:
app.use('/api/', posts);
app.use('/api/', users);
app.use(express.static(staticPath));
app.use('/', express.static(staticPath));
app.use('/posts/*', express.static(staticPath));
app.use('/new/*', express.static(staticPath));
app.use('/validateEmail/*', express.static(staticPath));
答案 0 :(得分:1)
Cloudinary的upload
方法接受file
参数的以下类型:
如果您能够访问blob数据(不仅仅是blob URL),它可以转换为数据URI,file
参数将接受Cloudinary的upload
方法。有关将blob转换为数据URI的帮助,请参阅this StackOverflow answer。