无法使用文件路径将通用base64映像发送到API

问题描述 投票:0回答:1

因此,我试图将图像的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())
};

但是这些都不起作用,我真的不知道该怎么做。

c# .net cloudinary
1个回答
0
投票

根据@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)
};
© www.soinside.com 2019 - 2024. All rights reserved.