我正在与 cloudinary 合作,将我的图像保存在云端。按照这篇文章即可成功更新。我上传成功过一次。更改我的代码后,它无法正常工作。
我的上传方法:
var uploadParams = new ImageUploadParams
{
File = new FileDescription(imageDictionary[Consts.IMAGE_PATH]),
UniqueFilename = false,
UseFilename = true,
PublicId = GetCloudinaryPublicId(imageDictionary[Consts.IMAGE_NAME])
};
ImageUploadResult? cloudUpdateResult;
try
{
cloudUpdateResult = await _cloudinary.UploadAsync(uploadParams);
}
catch (Exception e)
{
return new ErrorResult(e.Message);
}
这里
imageDictionary
返回图像的物理路径。例如wwwroot/images/userId/
并设置
PublicId
为云文件夹结构。例如images/userId/123123.jpg
当我尝试上传图像(存在于物理路径中)时
_cloudinary.UpdateAsync()
抛出异常,返回此消息:"File name must be specified in UploadParams!"
我发现我只是给委托人路径
wwwroot/images/userId
而不是给 imageName 123123.jpg
修好后就可以开始工作了。
File = new FileDescription(imageDictionary[Consts.IMAGE_PATH] + imageDictionary[Consts.IMAGE_NAME]),