这是我在网络服务中的编码
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Base64ToImage(string imagestr)
{
DbAccessConnection conn = getActiveConnection();
try
{
beginTransaction(conn);
byte[] bytes = Convert.FromBase64String(imagestr);
using (MemoryStream ms = new MemoryStream(bytes))
{
Image pic = Image.FromStream(ms);
pic.Save("C:/image/image001.jpg");
}
commitTransaction(conn);
Responder.writeResponse(true, "Sucess Convert Base64 String To Image");
}
catch (Exception ex)
{
rollbackTransaction(conn);
Responder.writeResponse(false, ex.Message);
}
}
我想在Web服务中插入新的base64时,是在我的文件夹路径中创建image002.jpg,因为image001.jpg已经在文件夹路径中。您能帮忙解决它吗?
收集服务器中的文件名并根据模式提取最大的数字,然后从中继续序列号。
var max = Directory.GetFiles(@"C:\...\imgs").Select(file =>
int.Parse(Path.GetFileNameWithoutExtension(file).Replace("image", ""))).Max();
string newFileName = $"image{max + 1:000}";
或将模式更改为无重复的内容,例如哈希值。或将最后一次上传记录在数据库中。