如何将图像保存在Web服务中具有不同名称图像(例如image001,image002,dst)的文件夹中

问题描述 投票:0回答:1

这是我在网络服务中的编码

[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已经在文件夹路径中。您能帮忙解决它吗?

c# web-services filepath
1个回答
0
投票

收集服务器中的文件名并根据模式提取最大的数字,然后从中继续序列号。

var max = Directory.GetFiles(@"C:\...\imgs").Select(file => 
    int.Parse(Path.GetFileNameWithoutExtension(file).Replace("image", ""))).Max();
string newFileName = $"image{max + 1:000}";

或将模式更改为无重复的内容,例如哈希值。或将最后一次上传记录在数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.