如何将客户端文件输入连接到服务器端云上传



我们正在进行cloudinary上传。我们编写了两个部分,服务器上通过cloudinary npm包的cloudinary方法和客户端上从输入中获取文件的另一个组件。

当我们将此文件传递到服务器时,cloudinary上传方法不起作用。如果我们只是使用来自网络的普通图像,则该方法工作正常,这意味着该方法总体上工作正常。

因此,我们似乎仍然需要弄清楚如何正确地将文件从客户端发送到服务器端方法。不幸的是,cloudinary文档中没有明确描述如何做到这一点,他们只说了一些类似"your_image_file.jpg"的路径。路径的问题是,由于安全原因,无法从浏览器端获得确切的图像路径。到目前为止你是怎么做到的?请注意,我们不想使用客户端上传和/或jQuery插件,因为我们的应用程序中不使用jQuery。

(带有来自Cloudinary示例项目的链接。)

设置输入标签(见链接):

<input id="photo_image" name="image" type="file" />

在服务器端,将文件上传到cloudinary(见链接):

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});
        });

最新更新