将Base64 的图片 转换为图片。保存在本地
public class BatchUpload
{
/// <summary>
/// 上传图片
/// </summary>
/// <param name="account">用户工号</param>
/// <param name="pathName"></param>
/// <param name="imgs"></param>
/// <param name="errors"></param>
/// <returns></returns>
public static string UploadImages(string account,string pathName, string imgs,ref ValidationErrors errors)
{
//上传图片
string imgNames = "";
if (!string.IsNullOrEmpty(imgs))
{
string[] images = imgs.Split(new string[1] { "~#~#~" }, System.StringSplitOptions.None);
foreach (string image in images)
{
try
{
if (image.Length > 0)
{
string path = System.Web.HttpContext.Current.Server.MapPath("~/Upload/"+ pathName + "/") + account;
int lenght = image.IndexOf(";") - image.IndexOf("/") - 1;
string suffix = image.Substring(image.IndexOf("/") + 1, lenght);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
int startIndex = image.IndexOf(",") + 1;
MemoryStream stream = new MemoryStream(Convert.FromBase64String(image.Substring(startIndex, image.Length - startIndex)));
Bitmap img = new Bitmap(stream);
string name = Guid.NewGuid().ToString() + "." + suffix;
img.Save(path + "//" + name);
imgNames += name + ",";
}
}
catch (Exception ex)
{
errors.Add("保存图片失败");
return "";
}
}
imgNames = imgNames.Substring(0, imgNames.Length - 1);
}
return imgNames;
}
}