创建一个方法,在更新到数据库之前,将图像生成为base64字符串。
我确定:
await db.SaveChangesAsync()
返回> 0 但数据库中的列名ImageString
始终为null:
我的测试代码:
using (var db = new VinaChannelDbContext())
{
var images = UploadImages(topicId);
var list = new List<TopicImages>();
foreach (string image in images)
{
string imageId = await GetId("ImageId");
list.Add(new TopicImages
{
Id = imageId,
TopicId = topicId,
ImageString = image,
UploadedDateTime = DateTime.Now
});
}
foreach (var item in list)
{
db.TopicImages.Add(item);
}
return await db.SaveChangesAsync();
}
你能解释一下为什么吗?
更新
public class TopicImages
{
[Key]
public string Id { get; set; }
public string TopicId { get; set; }
public string ImageString { get; set; }
public DateTime UploadedDateTime { get; set; }
}
答案 0 :(得分:0)
雅。我得到了答案。
这是因为列ImageString
不能包含以:data:image/ + extension + ;base64,
开头的字符串(扩展名可能是:jpg,png,gif ...)
我删除了它们并再次尝试。它应该工作。
感谢阅读!