我将为在线商店创建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
答案 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/