用MySQL插入图像的最佳方法?

时间:2018-09-19 17:19:38

标签: c# mysql

我将为在线商店创建MySQL数据库。这家商店大约有3000种产品。每个产品有5张照片。 我为inList = "['2015-01-01';'2015-02-01';'2015-02-01';'2015-03-01']" delimiters = [",", ";", "\t", "\n", " "] rem = ["[", "]", '"', "'", " "] out = [] for delimiter in delimiters: if delimiter in inList: for r in rem: if delimiter == r :break inList = inList.replace(r, '') out = inList.split(delimiter) break print(out) products(product_id, product_name)images

创建了表

插入照片的最佳方法是什么? *我正在使用C#(桌面应用)作为GUI

3 个答案:

答案 0 :(得分:2)

尽管使用BLOB对象可以实现此目的,但这不是首选方式。您必须存储图像的位置(对于其他大文件也是如此),当查询结果打开时,请使用该位置访问图像。

请记住,您的图像会随着时间的推移而增加,因此,在实践中,我们应用目录层次结构,通常两个就足够了。可以使用图像名称的前两个字母,但是,这将是不平衡的目录结构。更好的主意是使用基于哈希的随机化将文件平均分配到子目录中。可以找到一个示例(使用Java)here

答案 1 :(得分:1)

不要将图像保存在数据库中,这不是最好的方法。将与产品相关的图像的路径保存在表中。

答案 2 :(得分:1)

使用Cloud Blob存储或文件系统,而不是保存在关系数据库中。由于性能,备份和可维护性,不建议在数据库中存储大量大于1mb的图像。

但是,如果您有一个小型应用程序,并且确实确定要这样做,则可以将图像转换为字节数组,然后保存在MySQL BLOB字段中。查看下面的链接以获取示例:

C# saving images to MySql database as blob

检查:

Should I store my images in the database or folders?

How can I save an Image to the File System?

https://docs.microsoft.com/pt-br/azure/storage/blobs/storage-quickstart-blobs-dotnet?tabs=windows

https://www.c-sharpcorner.com/article/azure-storage-crud-operations-in-mvc-using-c-sharp-part-two/