当用户上传jpg/gif/bmp图像时,我希望将此图像转换为png图像,然后转换为base64字符串。
我一直在想办法解决这个问题,但是我真的遇到了麻烦,有没有人能帮帮我?
我当前不带图像转换的代码如下:
public ActionResult UploadToBase64String(HttpPostedFileBase file)
{
var binaryData = new Byte[file.InputStream.Length];
file.InputStream.Read(binaryData, 0, (int) file.InputStream.Length);
file.InputStream.Seek(0, SeekOrigin.Begin);
file.InputStream.Close();
string base64String = Convert.ToBase64String(binaryData, 0, binaryData.Length);
...
}发布于 2013-06-25 18:23:27
你根本没有在那里转换它..您可以使用类似以下内容:
using System.Drawing;
Bitmap b = (Bitmap)Bitmap.FromStream(file.InputStream);
using (MemoryStream ms = new MemoryStream()) {
b.Save(ms, ImageFormat.Png);
// use the memory stream to base64 encode..
}发布于 2013-06-25 18:27:43
您可以在temp文件夹中转换为PNG,然后上传。
private string GetConvertedPNGFile(string imagename)
{
var bitmap = Bitmap.FromFile(imagename);
b.Save(Path.GetFileName(imagename) + ".png", ImageFormat.Png);
return Path.GetFileName(imagename) + ".png";
}现在上传更改后的文件,然后删除转换后的文件。
发布于 2018-08-03 14:06:27
png此代码用于在asp.net文件夹中保存格式的图像
#region保存图片为Png格式
string imgName1 = "Photo\_" + lblCode.InnerText; Guid uid1 = Guid.NewGuid();
string PhotoPath1 = Server.MapPath("~/Employee/EmpPngPhoto/") + lblCode.InnerText;
string SavePath1 = PhotoPath1 + "\\" + imgName + ".png";
if (!(Directory.Exists(PhotoPath1)))
{
Directory.CreateDirectory(PhotoPath1);
}
System.Drawing.Bitmap bmpImage1 = new System.Drawing.Bitmap(fuPhotoUpload.PostedFile.InputStream);
System.Drawing.Image objImage1 = ScaleImage(bmpImage1, 160);
objImage.Save(SavePath1, ImageFormat.Png);
#endregionhttps://stackoverflow.com/questions/17294737
复制相似问题