因此,我试图将图像的base64字符串发送到Cloudinary。一切正常,除了文件路径一位。没有实际的文件路径,因为未保存文件。
这是它的外观(以@开头:]
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(@"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")
};
这就是我的做法:
var param = ("data:image/png;base64," + file);
// file is equal to the string (param gives the correct value that I'm looking for)
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(param)
};
我尝试过这些:
// 1
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(@param)
};
// 2
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(@ + param)
};
// 3
var uploadParams = new ImageUploadParams()
{
File = new FileDescription((@param).ToString())
};
但是这些都不起作用,我真的不知道该怎么做。
根据@Oguz Ozgul的链接,您的解决方案是:
string dataImageBase64 = @"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
string pattern = "data:.*?base64,";
string base64string = Regex.Replace(dataImageBase64, pattern, "");
Stream imageStream = new MemoryStream(Convert.FromBase64String(base64string));
var uploadParams = new ImageUploadParams
{
File = new FileDescription("Picture", imageStream)
};