我在上传到正确的文件夹时遇到一些困难。如果我指定:
cloudinary.uploader.upload(filePath, {
folder: 'test-directory'
});
我正在遵循节点集成指南:http://cloudinary.com/documentation/image_upload_api_reference#upload
我提前创建了“测试目录”。图片上传成功,但总是进入我的媒体库的根目录。
我在帐户设置中启用了“自动创建文件夹”。
这是来自 Cloudinary 的示例上传响应:
{
public_id: 'we1yjvlpxc1qtuf1oaqe',
version: 1503236713,
signature: '37edbc2b19ea72b75298acce8075f9e8ddb12d09',
width: 675,
height: 37,
format: 'jpg',
resource_type: 'image',
created_at: '2017-08-20T13:45:13Z',
tags: [],
bytes: 602,
type: 'upload',
etag: 'b5522ae652340881b213c46c035d0aed',
url: 'http://res.cloudinary.com/alsoicode/image/upload/v1503236713/we1yjvlpxc1qtuf1oaqe.jpg',
secure_url: 'https://res.cloudinary.com/alsoicode/image/upload/v1503236713/we1yjvlpxc1qtuf1oaqe.jpg',
original_filename: 'test_r6_c1'
}
我还尝试将文件夹名称添加到
public_id
选项,但这也不起作用。
我做错了什么?
添加
v2
使上传参数的顺序为(文件、选项、回调) -
cloudinary.v2.uploader.upload(filePath, {
folder: 'test-directory',
use_filename: true
});
没有它,顺序是(文件、回调、选项)-
cloudinary.uploader.upload(filePath,function(res){console.log(res);},{
folder: 'test-directory',
use_filename: true
})
上传参数的顺序为(文件、选项、回调)*
cloudinary.uploader.upload(
file,
{
folder: 'directory',
use_filename: true
},
function (error, result) {
if (result.url) {
resolve({ url: result.url })
} else {
reject({ message: "image upload fail", error })
}
},
);
cloudinary
上传函数需要三个参数,
cloudinary.uploader.upload(path,options,callback)
如果您没有以这种方式声明三个参数,cloudinary
会将您的文件夹路径理解为回调而不是一个选项,因此它不会理解您指向的路径或文件夹。
Cloudinary 上传功能如下所示,选项包含不同字段,包括
folder
字段。
upload(file: string, options?: UploadApiOptions, callback?: UploadResponseCallback)
使用
upload_stream
的朋友可以参考以下示例方法
uploadFile(file: Express.Multer.File): Promise<CloudinaryResponse> {
return new Promise<CloudinaryResponse>((resolve, reject) => {
const uploadStream = cloudinary.uploader.upload_stream(
{
folder: 'folderName',
},
(error, result) => {
if (error) return reject(error);
resolve(result);
},
);
streamifier.createReadStream(file.buffer).pipe(uploadStream);
});
}