gpt4 book ai didi

c# - 如何将base64字符串转换为图像二进制文件并保存到服务器

转载 作者:行者123 更新时间:2023-11-30 21:57:38 25 4
gpt4 key购买 nike

<分区>

作为一个例子,我已经转换了一个 Canvas 元素和一个重新调整大小的图像,并发布到一个隐藏的输入字段中,现在编码为

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...

然后将此值发布到同一页面,我需要将此字符串转换为图像并保存到服务器上。

代码隐藏文件 (upload.aspx)

protected void btnUpload_Click(object sender, EventArgs e)
{
HttpPostedFile filePosted = Request.Files["newinput"];
string base64String = filePosted.ToString();

// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);

// Convert byte[] to Image
ms.Write(imageBytes, 0, imageBytes.Length);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);

//I DONT KNOW HOW TO WRITE ABOVE INTO THE SaveAs CONDITION BELOW


if (filePosted != null && filePosted.ContentLength > 0)
{
string fileNameApplication = Path.GetFileName(filePosted.FileName);
string fileExtensionApplication = Path.GetExtension(fileNameApplication);

// generating a random guid for a new file at server for the uploaded file
string newFile = Guid.NewGuid().ToString() + fileExtensionApplication;
// getting a valid server path to save
string filePath = Path.Combine(Server.MapPath("~/Assets/") + Request.QueryString["id"] + "/", newFile);

if (fileNameApplication != String.Empty)
{
filePosted.SaveAs(filePath);
}

}

我很确定我需要在将图像数据保存到服务器之前将其转换为二进制文件,但我不太明白我需要如何修改上面的代码。有任何想法吗?保存到服务器的代码不起作用。

一旦我将其转换为图像并如上所述更改其名称 - 我将通过 LINQ 将其存储回数据库 - 并附加一个 URL。

如有任何帮助,我们将不胜感激。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com