将图像保存到Mysql数据库中作为Blob- Xamarin

6 浏览
0 Comments

将图像保存到Mysql数据库中作为Blob- Xamarin

我想将图片保存到我的mysql数据库中。

这是我的代码:

类:

public async void SIE()
{
    TrialClass trialClass = new TrialClass(ImagesPaths1);
    BlogRestClient restClient = new BlogRestClient();
    await restClient.PostAsync(trialClass);
}
public class TrialClass
{
    public List ImagesPath2;
    public TrialClass(List imagespath)
    {
        ImagesPath2 = imagespath;
    }
}
public class ImageFormatClass
{
    public Image SavedImage;
    public int Format;
    public ImageFormatClass()
    {
    }
}
private void Post_Clicked(object sender, EventArgs e)
{
    SIE();
}

Web API控制器:

public void Post([FromBody] TrialClass value)
{
    foreach (ImageFormatClass s in value.ImagesPath2)
    {
        string sqlstring = "server=; port= ; user id =;Password=;Database=;";
        MySqlConnection conn = new MySqlConnection(sqlstring);
        try
        {
            conn.Open();
        }
        catch (MySqlException ex)
        {
            throw ex;
        }
        string Query = "INSERT INTO test.blogimagestable (ImagesId)values( ?str);";
        MySqlCommand cmd = new MySqlCommand(Query, conn);
        cmd.Parameters.Add("?str", MySqlDbType.VarString, 256).Value = s.SavedImage;
        cmd.ExecuteReader();
        conn.Close();
    }
}

每当我点击post按钮触发Post_Clicked事件时,我都会收到这个错误信息:

Newtonsoft.Json.JsonSerializationException: '检测到属性ManifestModule的自引用循环,类型为System.Reflection.RuntimeModule。路径为'ImagesPath2[0].SavedImage.Source.Stream.Method.Module.Assembly'。'
at await restClient.PostAsync(trialClass);

0