我们正在进行云上传。我们编写了两个部分,服务器上的cloudinary方法通过cloudinary npm包,客户端上的另一个组件从输入中获取文件。
当我们将此文件传递到服务器时,cloudinary上传方法不起作用。如果我们只是使用来自网络的正常图像,则该方法正常工作,这意味着该方法通常是有效的。
因此,我们仍然需要弄清楚如何正确地将文件从客户端发送到服务器端方法。不幸的是,没有关于cloudinary docs如何做到这一点的明确描述,他们所说的只是'your_image_file.jpg'作为路径。该路径的问题在于,由于安全原因,无法从浏览器端获得精确的图像路径。到目前为止你是怎么做到的?请注意,我们不想使用客户端上传和/或jQuery插件,因为我们的应用程序中没有使用jQuery。
答案 0 :(得分:0)
(使用Cloudinary示例项目中的链接。)
设置输入标记(请参阅link):
<input id="photo_image" name="image" type="file" />
在服务器端,将文件上传到cloudinary(请参阅link):
var imageFile = req.files.image.path;
// Upload file to Cloudinary
cloudinary.uploader.upload(imageFile, {tags: 'express_sample'})
.then(function (image) {
console.log('** file uploaded to Cloudinary service');
console.dir(image);
photo.image = image;
// Save photo with image metadata
return photo.save();
})
.then(function (photo) {
console.log('** photo saved')
})
.finally(function () {
res.render('photos/create_through_server', {photo: photo, upload: photo.image});
});