【问题标题】:Can't send up generic base64 image to API using filepath无法使用文件路径将通用 base64 图像发送到 API
【发布时间】:2020-08-01 20:50:12
【问题描述】:

所以我正在尝试将图像的 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】:

根据@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)
};

【讨论】:

    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 2021-04-16
    • 1970-01-01
    • 2018-07-29
    • 2016-08-18
    • 2017-11-26
    相关资源
    最近更新 更多