我有一些 base64 存储在数据库中(实际上是图像)需要上传到第三方。我想使用内存上传它们,而不是将它们保存为图像然后将其发布到服务器。这里有人知道如何将 base64 转换为流吗?
如何更改此代码:
var fileInfo = new FileInfo(fullFilePath); var fileContent = new StreamContent(fileInfo.OpenRead());
改为使用图像文件的 base64 解释填充 StreamContent 对象。
private static StreamContent FileMultiPartBody(string fullFilePath)
{
var fileInfo = new FileInfo(fullFilePath);
var fileContent = new StreamContent(fileInfo.OpenRead());
// Manually wrap the string values in escaped quotes.
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
FileName = string.Format("\"{0}\"", fileInfo.Name),
Name = "\"name\"",
};
fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
return fileContent;
}
最佳答案
从数据库中获取字符串后,您将需要执行类似的操作:
var bytes = Convert.FromBase64String(base64encodedstring);
var contents = new StreamContent(new MemoryStream(bytes));
// Whatever else needs to be done here.
关于c# - 如何使用 C# 将 base64 值从数据库转换为流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31524343/